blob: 3b2a52352b75650425a96ab59359e5b0e6e183de (
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
112
113
114
115
116
117
118
119
120
121
122
123
|
cabal-version: 2.0
name: ghc-bignum
version: 1.0
synopsis: GHC BigNum library
license: BSD3
license-file: LICENSE
author: Sylvain Henry
maintainer: libraries@haskell.org
bug-reports: https://gitlab.haskell.org/ghc/ghc/issues/new
category: Numeric, Algebra, GHC
build-type: Configure
description:
This package provides the low-level implementation of the standard
'BigNat', 'Natural' and 'Integer' types.
extra-source-files:
aclocal.m4
cbits/gmp_wrappers.c
changelog.md
configure
configure.ac
config.mk.in
include/WordSize.h
include/HsIntegerGmp.h.in
install-sh
ghc-bignum.buildinfo.in
source-repository head
type: git
location: https://gitlab.haskell.org/ghc/ghc.git
subdir: libraries/ghc-bignum
Flag Native
Description: Enable native backend
Manual: True
Default: False
Flag FFI
Description: Enable FFI backend
Manual: True
Default: False
Flag GMP
Description: Enable GMP backend
Manual: True
Default: False
Flag Check
Description: Validate results of the enabled backend against native backend.
Manual: True
Default: False
library
-- check that at least one flag is set
if !flag(native) && !flag(gmp) && !flag(ffi)
buildable: False
-- check that at most one flag is set
if flag(native) && (flag(gmp) || flag(ffi))
buildable: False
if flag(gmp) && flag(ffi)
buildable: False
default-language: Haskell2010
other-extensions:
BangPatterns
CPP
ExplicitForAll
GHCForeignImportPrim
MagicHash
NegativeLiterals
NoImplicitPrelude
UnboxedTuples
UnliftedFFITypes
ForeignFunctionInterface
build-depends:
ghc-prim >= 0.5.1.0 && < 0.9
hs-source-dirs: src/
include-dirs: include/
ghc-options: -Wall
cc-options: -std=c99 -Wall
-- GHC has wired-in IDs from the ghc-bignum package. Hence the unit-id
-- of the package should not contain the version: i.e. it must be
-- "ghc-bignum" and not "ghc-bignum-1.0".
ghc-options: -this-unit-id ghc-bignum
include-dirs: include
if flag(gmp)
cpp-options: -DBIGNUM_GMP
other-modules:
GHC.Num.Backend.GMP
c-sources:
cbits/gmp_wrappers.c
if flag(ffi)
cpp-options: -DBIGNUM_FFI
other-modules:
GHC.Num.Backend.FFI
if flag(native)
cpp-options: -DBIGNUM_NATIVE
if flag(check)
cpp-options: -DBIGNUM_CHECK
other-modules:
GHC.Num.Backend.Check
exposed-modules:
GHC.Num.Primitives
GHC.Num.WordArray
GHC.Num.BigNat
GHC.Num.Backend
GHC.Num.Backend.Selected
GHC.Num.Backend.Native
GHC.Num.Natural
GHC.Num.Integer
|