Name:                happstack-server
Version:             6.0.2
Synopsis:            Web related tools and services.
Description:         Happstack Server provides an HTTP server and a rich set of functions for routing requests, handling query parameters, generating responses, working with cookies, serving files, and more. For in-depth documentation see the Happstack Crash Course <http://happstack.com/docs/crashcourse/index.html>
License:             BSD3
License-file:        COPYING
Author:              Happstack team, HAppS LLC
Maintainer:          Happstack team <happs@googlegroups.com>
homepage:            http://happstack.com
Category:            Web, Distributed Computing
Build-Type:          Simple
Cabal-Version:       >= 1.6

source-repository head
    type:     darcs
    subdir:   happstack-server
    location: http://patch-tag.com/r/mae/happstack

Flag base4
    Description: Choose the even newer, even smaller, split-up base package.

Flag network_2_2_3
    Description: Choose newer network library with merged in network-bytestring. We can not really use this until hslogger is updated to allow it. (Or we ditch hslogger)
    Default: False

Flag tests
    Description: Build the testsuite, and include the tests in the library
    Default: False

Library

  Exposed-modules:
                       Happstack.Server
                       Happstack.Server.Auth
                       Happstack.Server.Cookie
                       Happstack.Server.Compression
                       Happstack.Server.Client
                       Happstack.Server.Error
                       Happstack.Server.FileServe
                       Happstack.Server.FileServe.BuildingBlocks
                       Happstack.Server.Internal.Compression
                       Happstack.Server.Internal.Cookie
                       Happstack.Server.Internal.Types
                       Happstack.Server.Internal.LowLevel
                       Happstack.Server.Internal.MessageWrap
--                       Happstack.Server.Internal.NoPush
                       Happstack.Server.Internal.TimeoutManager
                       Happstack.Server.Internal.TimeoutSocket
                       Happstack.Server.Internal.Monads
                       Happstack.Server.Monads
                       Happstack.Server.Proxy
                       Happstack.Server.Response
                       Happstack.Server.Routing
                       Happstack.Server.RqData
                       Happstack.Server.SURI
                       Happstack.Server.SimpleHTTP
                       Happstack.Server.Types
                       Happstack.Server.Validation
                       Happstack.Server.XSLT

  if flag(tests)
    Exposed-modules:   
                       Happstack.Server.Tests
  Other-modules:       
                       Happstack.Server.HTTPClient.HTTP
                       Happstack.Server.HTTPClient.Stream
                       Happstack.Server.HTTPClient.TCP
                       Happstack.Server.Internal.Clock
                       Happstack.Server.Internal.Handler
                       Happstack.Server.Internal.LazyLiner
                       Happstack.Server.Internal.Listen
                       Happstack.Server.Internal.Multipart
                       Happstack.Server.Internal.RFC822Headers
                       Happstack.Server.Internal.Socket
                       Happstack.Server.Internal.SocketTH
                       Happstack.Server.SURI.ParseURI
                       Paths_happstack_server

  Build-Depends:       base,
                       blaze-html >= 0.3 && < 0.5,
                       bytestring,
                       containers,
                       directory,
                       extensible-exceptions,
                       filepath,
--                       HaXml >= 1.13 && < 1.14,
                       hslogger >= 1.0.2,
                       happstack-data >= 6.0 && < 6.1,
                       happstack-util >= 6.0 && < 6.1,
                       html,
                       MaybeT,
                       mtl >= 1.1 && < 2.1,
                       old-locale,
                       old-time,
                       parsec < 4,
                       process,
                       sendfile >= 0.7.1 && < 0.8,
                       template-haskell,
                       text >= 0.10 && < 0.12,
                       time,
                       utf8-string >= 0.3.4 && < 0.4,
                       xhtml,
                       zlib
  if flag(network_2_2_3)
    Build-Depends:     network >= 2.2.3
  else
    Build-Depends:     network < 2.2.3, network-bytestring



  hs-source-dirs:      src
  if flag(tests)
    hs-source-dirs:    tests

  if !os(windows)
     Build-Depends:    unix
     cpp-options:      -DUNIX
  if flag(base4)
    Build-Depends:     base >= 4 && < 5, syb

  if flag(tests)
    Build-Depends:     HUnit

  Extensions:          TemplateHaskell, DeriveDataTypeable, MultiParamTypeClasses,
                       TypeFamilies, FlexibleContexts, OverlappingInstances,
                       FlexibleInstances, UndecidableInstances, ScopedTypeVariables,
                       TypeSynonymInstances, PatternGuards
                       CPP, ForeignFunctionInterface
  if impl(ghc >= 6.12)
     ghc-options:      -Wall -fno-warn-unused-do-bind
  else
     ghc-options:      -Wall
  GHC-Prof-Options:    -auto-all

Executable happstack-server-tests
  Main-Is: Test.hs
  GHC-Options: -threaded
  hs-source-dirs: tests, src
--  Other-modules: Happstack.Server.Internal.NoPush
  if flag(tests)
    Buildable: True
    Build-depends: HUnit, parsec < 4
  else
    Buildable: False
