-
Notifications
You must be signed in to change notification settings - Fork 21
/
ConfigDefines.chs.in
60 lines (46 loc) · 1.49 KB
/
ConfigDefines.chs.in
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
%%[0
{-# OPTIONS_GHC -cpp #-}
%%]
%%[8 module {%{GRIN}ConfigDefines} import({%{EH}ConfigDefines}) export(module {%{EH}ConfigDefines})
%%]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Sizes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%[8 export(sizeofPointer)
#undef SIZEOF_INTPTR_T
sizeofPointer :: Int
sizeofPointer = SIZEOF_INTPTR_T
%%]
%%[8 export(sizeofGrWord,use64Bits,use32Bits)
sizeofGrWord :: Integer
sizeofGrWord = SIZEOF_INTPTR_T
use64Bits, use32Bits :: Bool
(use64Bits,use32Bits)
= if sizeofGrWord == 8
then (True,False)
else (False,True)
%%]
%%[8 export(gbLabelOffsetSize)
gbLabelOffsetSize :: Int
gbLabelOffsetSize = fromInteger sizeofGrWord
%%]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Endianness
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%[8 export(machineIsBigEndian)
#undef BIGENDIAN
#undef LITTLEENDIAN
machineIsBigEndian :: Bool
machineIsBigEndian = mkB BIGENDIAN
%%]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% RTS related
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%[8 export(rtsGlobalVarPrefix, rtsUseGC)
#undef RTS_GLOBAL_VAR_PREFIX
#undef USE_BOEHM_GC
rtsGlobalVarPrefix :: String
rtsGlobalVarPrefix = RTS_GLOBAL_VAR_PREFIX
rtsUseGC :: Bool
rtsUseGC = mkB USE_BOEHM_GC
%%]