summaryrefslogtreecommitdiff
path: root/primitive.cabal
blob: 0a9dd235de4e7ea622aee448a4a16e18da471326 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Cabal-Version:  2.0
Name:           primitive
Version:        0.7.4.0
x-revision: 1
License:        BSD3
License-File:   LICENSE

Author:         Roman Leshchinskiy <rl@cse.unsw.edu.au>
Maintainer:     libraries@haskell.org
Copyright:      (c) Roman Leshchinskiy 2009-2012
Homepage:       https://github.com/haskell/primitive
Bug-Reports:    https://github.com/haskell/primitive/issues
Category:       Data
Synopsis:       Primitive memory-related operations
Build-Type:     Simple
Description:    This package provides various primitive memory-related operations.

Extra-Source-Files: changelog.md
                    test/*.hs
                    test/LICENSE

Tested-With:
  GHC == 8.0.2,
  GHC == 8.2.2,
  GHC == 8.4.4,
  GHC == 8.6.5,
  GHC == 8.8.4,
  GHC == 8.10.7

Library
  Default-Language: Haskell2010
  Other-Extensions:
        BangPatterns, CPP, DeriveDataTypeable,
        MagicHash, TypeFamilies, UnboxedTuples, UnliftedFFITypes

  Exposed-Modules:
        Control.Monad.Primitive
        Data.Primitive
        Data.Primitive.MachDeps
        Data.Primitive.Types
        Data.Primitive.Array
        Data.Primitive.ByteArray
        Data.Primitive.PrimArray
        Data.Primitive.SmallArray
        Data.Primitive.Ptr
        Data.Primitive.MutVar
        Data.Primitive.MVar

  Other-Modules:
        Data.Primitive.Internal.Operations

  Build-Depends: base >= 4.9 && < 4.19
               , deepseq >= 1.1 && < 1.5
               , transformers >= 0.5 && < 0.7
               , template-haskell >= 2.11

  Ghc-Options: -O2

  Include-Dirs: cbits
  Install-Includes: primitive-memops.h
  includes: primitive-memops.h
  c-sources: cbits/primitive-memops.c
  if !os(solaris)
      cc-options: -ftree-vectorize
  if arch(i386) || arch(x86_64)
      cc-options: -msse2

test-suite test-qc
  Default-Language: Haskell2010
  hs-source-dirs: test
                  test/src
  main-is: main.hs
  Other-Modules: PrimLaws
  type: exitcode-stdio-1.0
  build-depends: base
               , base-orphans
               , ghc-prim
               , primitive
               , quickcheck-classes-base >= 0.6 && <0.7
               , QuickCheck >= 2.13 && < 2.15
               , tasty ^>= 1.2 || ^>= 1.3 || ^>= 1.4
               , tasty-quickcheck
               , tagged
               , transformers >= 0.5
               , transformers-compat

  cpp-options: -DHAVE_UNARY_LAWS
  ghc-options: -O2

benchmark bench
  Default-Language: Haskell2010
  hs-source-dirs: bench
  main-is: main.hs
  type: exitcode-stdio-1.0
  ghc-options: -O2
  other-modules:
    Array.Traverse.Closure
    Array.Traverse.Unsafe
    ByteArray.Compare
    PrimArray.Compare
    PrimArray.Traverse
  build-depends:
      base
    , primitive
    , deepseq
    , tasty-bench
    , transformers >= 0.5

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