1name:                basement
2version:             0.0.11
3x-revision: 2
4synopsis:            Foundation scrap box of array & string
5description:         Foundation most basic primitives without any dependencies
6license:             BSD3
7license-file:        LICENSE
8copyright:           2015-2017 Vincent Hanquez <vincent@snarc.org>
9                   , 2017-2018 Foundation Maintainers
10maintainer:          vincent@snarc.org
11category:            Web
12build-type:          Simple
13homepage:            https://github.com/haskell-foundation/foundation#readme
14bug-reports:         https://github.com/haskell-foundation/foundation/issues
15cabal-version:       1.18
16extra-source-files:  cbits/*.h cbits/basement_rts.c
17
18source-repository head
19  type: git
20  location: https://github.com/haskell-foundation/foundation
21  subdir: basement
22
23library
24  hs-source-dirs:    .
25  exposed-modules:
26                     Basement.Imports
27
28                     Basement.Base16
29                     Basement.Bindings.Memory
30                     Basement.Endianness
31                     Basement.Environment
32                     Basement.PrimType
33
34                     Basement.Exception
35                     Basement.Cast
36                     Basement.From
37
38                     Basement.Types.Char7
39                     Basement.Types.CharUTF8
40                     Basement.Types.OffsetSize
41                     Basement.Types.Ptr
42                     Basement.Types.AsciiString
43                     Basement.Types.Word128
44                     Basement.Types.Word256
45                     Basement.Monad
46                     Basement.MutableBuilder
47                     Basement.FinalPtr
48
49                     Basement.Nat
50
51                     -- Extended Types
52                     Basement.BoxedArray
53                     Basement.Block
54                     Basement.Block.Mutable
55                     Basement.Block.Builder
56                     Basement.UArray
57                     Basement.UArray.Mutable
58                     Basement.String
59                     Basement.String.Builder
60                     Basement.NonEmpty
61
62                     -- Extended Types with explicit type level size
63                     Basement.Sized.Block
64                     Basement.Sized.UVect
65                     Basement.Sized.Vect
66                     Basement.Sized.List
67                     Basement.BlockN
68
69                     -- Utils
70                     Basement.NormalForm
71                     Basement.These
72
73                     -- Terminal
74                     Basement.Terminal
75                     Basement.Terminal.ANSI
76
77                     -- numeric stuff
78                     Basement.IntegralConv
79                     Basement.Floating
80                     Basement.Numerical.Number
81                     Basement.Numerical.Additive
82                     Basement.Numerical.Subtractive
83                     Basement.Numerical.Multiplicative
84                     Basement.Bounded
85
86                     -- exported algorithms
87                     Basement.Alg.XorShift
88
89                     -- compat / base redefinition
90                     Basement.Compat.AMP
91                     Basement.Compat.Base
92                     Basement.Compat.Bifunctor
93                     Basement.Compat.CallStack
94                     Basement.Compat.C.Types
95                     Basement.Compat.ExtList
96                     Basement.Compat.IsList
97                     Basement.Compat.Identity
98                     Basement.Compat.Primitive
99                     Basement.Compat.PrimTypes
100                     Basement.Compat.MonadTrans
101                     Basement.Compat.Semigroup
102                     Basement.Compat.Natural
103                     Basement.Compat.NumLiteral
104                     Basement.Compat.Typeable
105
106                     Basement.Bits
107
108  other-modules:
109                     Basement.Error
110                     Basement.Show
111                     Basement.Runtime
112
113                     Basement.Alg.Class
114                     Basement.Alg.Mutable
115                     Basement.Alg.PrimArray
116
117                     Basement.Alg.UTF8
118                     Basement.Alg.String
119
120                     Basement.Numerical.Conversion
121
122                     Basement.Block.Base
123
124                     Basement.UTF8.Base
125                     Basement.UTF8.Helper
126                     Basement.UTF8.Table
127                     Basement.UTF8.Types
128
129                     Basement.UArray.Base
130
131                     Basement.String.CaseMapping
132                     Basement.String.Encoding.Encoding
133                     Basement.String.Encoding.UTF16
134                     Basement.String.Encoding.UTF32
135                     Basement.String.Encoding.ASCII7
136                     Basement.String.Encoding.ISO_8859_1
137
138                     Basement.Terminal.Size
139
140  -- support and dependencies
141  build-depends: base >= 4.9.0.0 && < 5
142  if impl(ghc < 8.0)
143    build-depends:     base
144  else
145    build-depends:     base
146                     , ghc-prim
147    if os(windows)
148      build-depends:   Win32
149
150  default-language:    Haskell2010
151  default-extensions: NoImplicitPrelude
152                      RebindableSyntax
153                      TypeFamilies
154                      BangPatterns
155                      DeriveDataTypeable
156  if (arch(i386) || arch(x86_64))
157    cpp-options: -DARCH_IS_LITTLE_ENDIAN
158  else
159    cpp-options: -DARCH_IS_UNKNOWN_ENDIAN
160  include-dirs:      cbits
161  c-sources:         cbits/foundation_mem.c
162  if impl(ghc < 8.2)
163    c-sources:       cbits/basement_rts.c
164