name:           unix
version:        2.7.2.2
-- NOTE: Don't forget to update ./changelog.md
license:        BSD3
license-file:   LICENSE
maintainer:     libraries@haskell.org
homepage:       https://github.com/haskell/unix
bug-reports:    https://github.com/haskell/unix/issues
synopsis:       POSIX functionality
category:       System
build-type:     Configure
cabal-version:  >= 1.10
tested-with:    GHC>=7.4.1
description:
    This package gives you access to the set of operating system
    services standardised by
    <http://pubs.opengroup.org/onlinepubs/9699919799/ POSIX.1-2008>
    (or the IEEE Portable Operating System Interface for Computing
    Environments - IEEE Std. 1003.1).
    .
    The package is not supported under Windows.

extra-source-files:
    changelog.md
    config.guess
    config.sub
    configure
    configure.ac
    include/HsUnix.h
    include/HsUnixConfig.h.in
    install-sh
    unix.buildinfo.in

extra-tmp-files:
    autom4te.cache
    config.log
    config.status
    include/HsUnixConfig.h
    unix.buildinfo

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

library
    default-language: Haskell2010
    other-extensions:
        CApiFFI
        CPP
        DeriveDataTypeable
        InterruptibleFFI
        NondecreasingIndentation
        RankNTypes
        RecordWildCards
        Safe
        Trustworthy

    if os(windows)
        -- This package currently supports neither Cygwin nor MinGW,
        -- therefore os(windows) is effectively not supported.
        build-depends: unbuildable<0
        buildable: False

    build-depends:
        base        >= 4.5     && < 4.16,
        bytestring  >= 0.9.2   && < 0.11,
        time        >= 1.2     && < 1.10

    exposed-modules:
        System.Posix
        System.Posix.ByteString

        System.Posix.Error
        System.Posix.Resource
        System.Posix.Time
        System.Posix.Unistd
        System.Posix.User
        System.Posix.Signals
        System.Posix.Signals.Exts
        System.Posix.Semaphore
        System.Posix.SharedMem

        System.Posix.ByteString.FilePath

        System.Posix.Directory
        System.Posix.Directory.ByteString

        System.Posix.DynamicLinker.Module
        System.Posix.DynamicLinker.Module.ByteString
        System.Posix.DynamicLinker.Prim
        System.Posix.DynamicLinker.ByteString
        System.Posix.DynamicLinker

        System.Posix.Files
        System.Posix.Files.ByteString

        System.Posix.IO
        System.Posix.IO.ByteString

        System.Posix.Env
        System.Posix.Env.ByteString

        System.Posix.Fcntl

        System.Posix.Process
        System.Posix.Process.Internals
        System.Posix.Process.ByteString

        System.Posix.Temp
        System.Posix.Temp.ByteString

        System.Posix.Terminal
        System.Posix.Terminal.ByteString

    other-modules:
        System.Posix.Directory.Common
        System.Posix.DynamicLinker.Common
        System.Posix.Files.Common
        System.Posix.IO.Common
        System.Posix.Process.Common
        System.Posix.Terminal.Common

    ghc-options: -Wall

    include-dirs: include
    includes:
        HsUnix.h
        execvpe.h
    install-includes:
        HsUnix.h
        execvpe.h
    c-sources:
        cbits/HsUnix.c
        cbits/execvpe.c
