name:           network
version:        2.6.3.1
license:        BSD3
license-file:   LICENSE
maintainer:     Kazu Yamamoto, Evan Borden
synopsis:       Low-level networking interface
description:
  This package provides a low-level networking interface.
  .
  In network-2.6 the @Network.URI@ module was split off into its own
  package, network-uri-2.6. If you're using the @Network.URI@ module
  you can automatically get it from the right package by adding this
  to your .cabal file:
  .
  > flag network-uri
  >   description: Get Network.URI from the network-uri package
  >   default: True
  >
  > library
  >   -- ...
  >   if flag(network-uri)
  >     build-depends: network-uri >= 2.6, network >= 2.6
  >   else
  >     build-depends: network-uri < 2.6, network < 2.6
  .
  That is, get the module from either network < 2.6 or from
  network-uri >= 2.6.
category:       Network
build-type:     Configure
cabal-version:  >=1.8
extra-tmp-files:
  config.log config.status autom4te.cache network.buildinfo
  include/HsNetworkConfig.h
extra-source-files:
  README.md CHANGELOG.md
  examples/*.hs tests/*.hs config.guess config.sub install-sh
  configure.ac configure network.buildinfo.in
  include/HsNetworkConfig.h.in include/HsNet.h
  -- C sources only used on some systems
  cbits/ancilData.c cbits/asyncAccept.c cbits/initWinSock.c
  cbits/winSockErr.c
homepage:       https://github.com/haskell/network
bug-reports:    https://github.com/haskell/network/issues
tested-with:   GHC == 7.0.4, GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.1, GHC == 7.10.2, GHC == 8.0.1

library
  exposed-modules:
    Network
    Network.BSD
    Network.Socket
    Network.Socket.ByteString
    Network.Socket.ByteString.Lazy
    Network.Socket.Internal
  other-modules:
    Network.Socket.ByteString.Internal
    Network.Socket.Types

  if !os(windows)
    other-modules:
      Network.Socket.ByteString.IOVec
      Network.Socket.ByteString.Lazy.Posix
      Network.Socket.ByteString.MsgHdr
  if os(windows)
    other-modules:
      Network.Socket.ByteString.Lazy.Windows

  build-depends:
    base >= 3 && < 5,
    bytestring < 0.11

  if !os(windows)
    build-depends:
      unix >= 2

  extensions:
    CPP, DeriveDataTypeable, ForeignFunctionInterface, TypeSynonymInstances
  include-dirs: include
  includes: HsNet.h
  install-includes: HsNet.h HsNetworkConfig.h
  c-sources: cbits/HsNet.c
  ghc-options: -Wall -fwarn-tabs

test-suite simple
  hs-source-dirs: tests
  main-is: Simple.hs
  type: exitcode-stdio-1.0

  build-depends:
    base < 5,
    bytestring,
    HUnit,
    network,
    test-framework,
    test-framework-hunit

test-suite regression
  hs-source-dirs: tests
  main-is: Regression.hs
  type: exitcode-stdio-1.0

  build-depends:
    base < 5,
    bytestring,
    HUnit,
    network,
    test-framework,
    test-framework-hunit
  -- Some of the bugs only occur in the threaded RTS
  ghc-options: -Wall -threaded

test-suite doctest
  hs-source-dirs: tests
  main-is: doctests.hs
  type: exitcode-stdio-1.0

  build-depends:
    base < 5,
    doctest >= 0.10.1

  ghc-options: -Wall

source-repository head
  type:     git
  location: git://github.com/haskell/network.git
