name:           ghc-prim
version:        0.4.0.0
-- GHC 7.8.4 released with 0.3.1.0
license:        BSD3
license-file:   LICENSE
category:       GHC
maintainer:     libraries@haskell.org
bug-reports:    http://ghc.haskell.org/trac/ghc/newticket?component=libraries%20%28other%29&keywords=ghc-prim
synopsis:       GHC primitives
cabal-version:  >=1.10
build-type:     Custom
description:
    GHC primitives.

source-repository head
    type:     git
    location: http://git.haskell.org/ghc.git
    subdir:   libraries/ghc-prim

flag include-ghc-prim
    Description: Include GHC.Prim in exposed-modules
    default: False

Library
    default-language: Haskell2010
    other-extensions:
        BangPatterns
        CPP
        DeriveGeneric
        MagicHash
        MultiParamTypeClasses
        NoImplicitPrelude
        StandaloneDeriving
        Trustworthy
        TypeFamilies
        UnboxedTuples
        UnliftedFFITypes

    build-depends: rts == 1.0.*

    exposed-modules:
        GHC.CString
        GHC.Classes
        GHC.Debug
        GHC.IntWord64
        GHC.Magic
        GHC.PrimopWrappers
        GHC.Tuple
        GHC.Types

    if flag(include-ghc-prim)
        exposed-modules: GHC.Prim

    c-sources:
        cbits/atomic.c
        cbits/bswap.c
        cbits/clz.c
        cbits/ctz.c
        cbits/debug.c
        cbits/longlong.c
        cbits/popcnt.c
        cbits/word2float.c

    -- We need to set the package key to ghc-prim (without a version number)
    -- as it's magic.
    ghc-options: -this-package-key ghc-prim
