@@ -18,6 +18,9 @@ declare -r mpfr_directory='/tmp/mpfr-4.2.1'
18
18
declare -r mpc_tarball=' /tmp/mpc.tar.gz'
19
19
declare -r mpc_directory=' /tmp/mpc-1.3.1'
20
20
21
+ declare -r isl_tarball=' /tmp/isl.tar.xz'
22
+ declare -r isl_directory=' /tmp/isl-0.27'
23
+
21
24
declare -r binutils_tarball=' /tmp/binutils.tar.xz'
22
25
declare -r binutils_directory=' /tmp/binutils-with-gold-2.44'
23
26
@@ -31,6 +34,7 @@ declare -r max_jobs='40'
31
34
declare -r optlto=" -flto=${max_jobs} -fno-fat-lto-objects"
32
35
declare -r optfatlto=" -flto=${max_jobs} -ffat-lto-objects"
33
36
37
+ declare -r pieflags=' -fPIE'
34
38
declare -r optflags=' -w -O2'
35
39
declare -r linkflags=' -Wl,-s'
36
40
@@ -119,6 +123,23 @@ if ! [ -f "${mpc_tarball}" ]; then
119
123
--file=" ${mpc_tarball} "
120
124
fi
121
125
126
+ if ! [ -f " ${isl_tarball} " ]; then
127
+ curl \
128
+ --url ' https://libisl.sourceforge.io/isl-0.27.tar.xz' \
129
+ --retry ' 30' \
130
+ --retry-all-errors \
131
+ --retry-delay ' 0' \
132
+ --retry-max-time ' 0' \
133
+ --location \
134
+ --silent \
135
+ --output " ${isl_tarball} "
136
+
137
+ tar \
138
+ --directory=" $( dirname " ${isl_directory} " ) " \
139
+ --extract \
140
+ --file=" ${isl_tarball} "
141
+ fi
142
+
122
143
if ! [ -f " ${binutils_tarball} " ]; then
123
144
curl \
124
145
--url ' https://ftp.gnu.org/gnu/binutils/binutils-with-gold-2.44.tar.xz' \
@@ -214,6 +235,24 @@ cd "${mpc_directory}/build"
214
235
make all --jobs
215
236
make install
216
237
238
+ [ -d " ${isl_directory} /build" ] || mkdir " ${isl_directory} /build"
239
+
240
+ cd " ${isl_directory} /build"
241
+ rm --force --recursive ./*
242
+
243
+ ../configure \
244
+ --host=" ${CROSS_COMPILE_TRIPLET} " \
245
+ --prefix=" ${toolchain_directory} " \
246
+ --with-gmp-prefix=" ${toolchain_directory} " \
247
+ --enable-shared \
248
+ --enable-static \
249
+ CFLAGS=" ${pieflags} ${optflags} ${optlto} " \
250
+ CXXFLAGS=" ${pieflags} ${optflags} ${optlto} " \
251
+ LDFLAGS=" -Wl,-rpath-link -Wl,${toolchain_directory} /lib ${linkflags} ${optlto} "
252
+
253
+ make all --jobs
254
+ make install
255
+
217
256
for target in " ${targets[@]} " ; do
218
257
source " ${workdir} /${target} .sh"
219
258
@@ -271,15 +310,18 @@ for target in "${targets[@]}"; do
271
310
--with-gmp=" ${toolchain_directory} " \
272
311
--with-mpc=" ${toolchain_directory} " \
273
312
--with-mpfr=" ${toolchain_directory} " \
313
+ --with-isl=" ${toolchain_directory} " \
274
314
--with-bugurl=' https://github.com/AmanoTeam/Raiden/issues' \
275
315
--with-pkgversion=" Raiden v0.8-${revision} " \
276
316
--with-sysroot=" ${toolchain_directory} /${triplet} " \
277
317
--with-gcc-major-version-only \
278
318
--with-native-system-header-dir=' /include' \
319
+ --with-default-libstdcxx-abi=' new' \
279
320
--enable-__cxa_atexit \
280
321
--enable-cet=' auto' \
281
322
--enable-checking=' release' \
282
323
--enable-clocale=' gnu' \
324
+ --enable-default-pie \
283
325
--enable-default-ssp \
284
326
--enable-gnu-indirect-function \
285
327
--enable-libssp \
@@ -293,6 +335,7 @@ for target in "${targets[@]}"; do
293
335
--enable-gold \
294
336
--enable-languages=' c,c++' \
295
337
--enable-plugin \
338
+ --enable-libstdcxx-time=' yes' \
296
339
--disable-libsanitizer \
297
340
--disable-fixincludes \
298
341
--disable-gnu-unique-object \
0 commit comments