packages feed

sendfile-0.3: sendfile.cabal

name:          sendfile
version:       0.3
stability:     experimental
synopsis:      A portable sendfile library
description:   A library which exposes zero-copy sendfile functionality in a portable way. If a platform does not support sendfile, a fallback implementation in haskell is provided.
               .
               Currently supported platforms: Windows 2000+ (Native), Linux 2.6+ (Native), Everything else (Haskell).

license:       BSD3
license-file:  LICENSE
author:        Matthew Elder <matt@mattelder.org>
maintainer:    Matthew Elder <matt@mattelder.org>
homepage:      http://patch-tag.com/r/sendfile
category:      Network
build-type:    Simple
cabal-version: >= 1.6

flag portable
    description: Explicitly enable portable sendfile support (implemented in Haskell)
    default:     False

library
    hs-source-dirs:  src

    exposed-modules: Network.Socket.SendFile

    other-modules:   Network.Socket.SendFile.Internal
    
    build-depends:   base >= 4 && < 5,
                     network >= 2 && < 3

    ghc-options: -Wall

    if os(windows) && !flag(portable)
      cpp-options: -DWIN32_SENDFILE
      build-depends: Win32
      c-sources: csrc/sendfile_win32.c
      extra-libraries: mswsock
      other-modules: Network.Socket.SendFile.Win32
    else
      if os(linux) && !flag(portable)
        cpp-options: -DLINUX_SENDFILE
        c-sources: csrc/sendfile_linux.c
        other-modules: Network.Socket.SendFile.Linux
      else
        cpp-options: -DPORTABLE_SENDFILE
        other-modules: Network.Socket.SendFile.Portable
        build-depends: bytestring >= 0.9.1.4 && < 0.10

source-repository head
    type:     darcs
    location: http://patch-tag.com/r/sendfile/pullrepo