packages feed

sendfile-0.2: sendfile.cabal

name:          sendfile
version:       0.2
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: SendFile

    other-modules:   SendFile.Internal
    
    build-depends:   base >= 3 && < 5,
                     network >= 2 && < 3
    
    if os(windows) && !flag(portable)
      cc-options: -DWIN32_SENDFILE
      c-sources: csrc/sendfile_win32.c
      extra-libraries: kernel32, mswsock
    else
      if os(linux) && !flag(portable)
        cc-options: -DLINUX_SENDFILE
        c-sources: csrc/sendfile_linux.c
      else
        cc-options: -DPORTABLE_SENDFILE
        build-depends: bytestring >= 0.9.1.4 && < 0.10

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