build: x86_64 bootstrap build fixes and workaround.
[mes.git] / build-aux / config.sh
1 # GNU Mes --- Maxwell Equations of Software
2 # Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
3 #
4 # This file is part of GNU Mes.
5 #
6 # GNU Mes is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or (at
9 # your option) any later version.
10 #
11 # GNU Mes is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
18
19 srcdir=${srcdir-.}
20 top_builddir=${top_builddir-.}
21 if [ "$V" = 2 ]; then
22     echo $0
23     echo srcdest=${srcdest}
24     echo top_builddir=${top_builddir}
25 fi
26
27 export CC
28 export CC CFLAGS
29 export CC32
30 export CC32_CPPFLAGS
31 export CC64
32 export CC64_CPPFLAGS
33 export CC_CFLAGS
34 export CC_CPPFLAGS
35 export CFLAGS
36 export CPPFLAGS
37 export GUILE
38 export GUILE_LOAD_COMPILED_PATH
39 export GUILE_LOAD_PATH
40 export HEX2
41 export HEX2FLAGS
42 export LIBC
43 export M1
44 export M1FLAGS
45 export MES
46 export MES_CFLAGS
47 export MES_CPPFLAGS
48 export MES_LIBS
49 export TCC
50
51 export MES_DEBUG
52 export MES_SEED
53 export MES_ARENA
54 export COMPILE
55 export PREPROCESS
56 export TINYCC_PREFIX
57 export V
58
59 export abs_top_builddir
60 export abs_top_srcdir
61 export arch
62 export datadir
63 export moduledir
64 export prefix
65 export srcdest
66 export srcdir
67 export top_builddir
68
69 MESCC=${MESCC-mescc}
70 BLOOD_ELF=${BLOOD_ELF-blood-elf}
71 HEX2=${HEX2-hex2}
72 M1=${M1-M1}
73
74 CC_CPPFLAGS=${CC_CPPFLAGS-"
75 -D 'VERSION=\"$VERSION\"'
76 -D 'MODULEDIR=\"$moduledir\"'
77 -D 'PREFIX=\"$prefix\"'
78 -I src
79 -I ${srcdest}src
80 -I ${srcdest}lib
81 -I ${srcdest}include
82 "}
83
84 CC_CFLAGS=${CC_CFLAGS-"
85 --std=gnu99
86 -O0
87 -g
88 "}
89
90 CC64_CPPFLAGS=${CC64_CPPFLAGS-"
91 -D 'VERSION=\"$VERSION\"'
92 -D 'MODULEDIR=\"$moduledir\"'
93 -D 'PREFIX=\"$prefix\"'
94 -I src
95 -I ${srcdest}src
96 -I ${srcdest}lib
97 -I ${srcdest}include
98 "}
99
100 CC64_CFLAGS=${CC64_CFLAGS-"
101 -std=gnu99
102 -O0
103 -fno-builtin
104 -fno-stack-protector
105 -g
106 -m64
107 -nostdinc
108 -nostdlib
109 -Wno-discarded-qualifiers
110 -Wno-int-to-pointer-cast
111 -Wno-pointer-to-int-cast
112 -Wno-pointer-sign
113 -Wno-int-conversion
114 -Wno-incompatible-pointer-types
115 "}
116
117 CC32_CPPFLAGS=${CC32_CPPFLAGS-"
118 -D 'VERSION=\"$VERSION\"'
119 -D 'MODULEDIR=\"$moduledir\"'
120 -D 'PREFIX=\"$prefix\"'
121 -I src
122 -I ${srcdest}src
123 -I ${srcdest}lib
124 -I ${srcdest}include
125 "}
126
127 CC32_CFLAGS=${CC32_CFLAGS-"
128 -std=gnu99
129 -O0
130 -fno-builtin
131 -fno-stack-protector
132 -g
133 -m32
134 -nostdinc
135 -nostdlib
136 -Wno-discarded-qualifiers
137 -Wno-int-to-pointer-cast
138 -Wno-pointer-to-int-cast
139 -Wno-pointer-sign
140 -Wno-int-conversion
141 -Wno-incompatible-pointer-types
142 "}
143
144 MES_CPPFLAGS=${MES_CPPFLAGS-"
145 -D 'VERSION=\"$VERSION\"'
146 -D 'MODULEDIR=\"$moduledir\"'
147 -D 'PREFIX=\"$prefix\"'
148 -I src
149 -I ${srcdest}src
150 -I ${srcdest}lib
151 -I ${srcdest}include
152 "}
153
154 MES_CFLAGS=${MES_CFLAGS-"
155 "}
156
157 MES64_CFLAGS=${MES64_CFLAGS-"
158 -m64
159 "}
160
161 M1FLAGS=${M1FLAGS-"
162 --LittleEndian
163 --Architecture 1
164 "}
165
166 HEX2FLAGS=${HEX2FLAGS-"
167 --LittleEndian
168 --Architecture 1
169 --BaseAddress 0x1000000
170 "}