@@ -45,6 +45,9 @@ declare nz_directory=""
4545declare -r zstd_tarball=' /tmp/zstd.tar.gz'
4646declare -r zstd_directory=' /tmp/zstd-dev'
4747
48+ declare -r zlib_tarball=' /tmp/zlib.tar.gz'
49+ declare -r zlib_directory=' /tmp/zlib-develop'
50+
4851declare -r pieflags=' -fPIE'
4952declare -r ccflags=' -w -O2'
5053declare -r linkflags=' -Xlinker -s'
@@ -136,16 +139,19 @@ declare -ra deprecated_targets=(
136139
137140declare -ra targets=(
138141 ' x86_64-unknown-linux-gnu'
139- ' aarch64-unknown-linux-gnu'
140- ' arm-unknown-linux-gnueabi'
141- ' arm-unknown-linux-gnueabihf'
142- ' i386-unknown-linux-gnu'
142+ # 'aarch64-unknown-linux-gnu'
143+ # 'arm-unknown-linux-gnueabi'
144+ # 'arm-unknown-linux-gnueabihf'
145+ # 'i386-unknown-linux-gnu'
143146)
144147
145148declare -r PKG_CONFIG_PATH=" ${toolchain_directory} /lib/pkgconfig"
146149declare -r PKG_CONFIG_LIBDIR=" ${PKG_CONFIG_PATH} "
147150declare -r PKG_CONFIG_SYSROOT_DIR=" ${toolchain_directory} "
148151
152+ declare -r zlibdir=" -I${toolchain_directory} /include"
153+ declare -r zlibinc=" -L${toolchain_directory} /lib"
154+
149155declare -r pkg_cv_ZSTD_CFLAGS=" -I${toolchain_directory} /include"
150156declare -r pkg_cv_ZSTD_LIBS=" -L${toolchain_directory} /lib -lzstd"
151157declare -r ZSTD_CFLAGS=" -I${toolchain_directory} /include"
@@ -158,7 +164,9 @@ export \
158164 pkg_cv_ZSTD_CFLAGS \
159165 pkg_cv_ZSTD_LIBS \
160166 ZSTD_CFLAGS \
161- ZSTD_LIBS
167+ ZSTD_LIBS \
168+ zlibdir \
169+ zlibinc
162170
163171declare build_type=" ${1} "
164172
@@ -280,6 +288,25 @@ if ! [ -f "${binutils_tarball}" ]; then
280288 patch --directory=" ${binutils_directory} " --strip=' 1' --input=" ${workdir} /patches/0001-Don-t-warn-about-local-symbols-within-the-globals.patch"
281289fi
282290
291+ if ! [ -f " ${zlib_tarball} " ]; then
292+ curl \
293+ --url ' https://github.com/madler/zlib/archive/refs/heads/develop.tar.gz' \
294+ --retry ' 30' \
295+ --retry-all-errors \
296+ --retry-delay ' 0' \
297+ --retry-max-time ' 0' \
298+ --location \
299+ --silent \
300+ --output " ${zlib_tarball} "
301+
302+ tar \
303+ --directory=" $( dirname " ${zlib_directory} " ) " \
304+ --extract \
305+ --file=" ${zlib_tarball} "
306+
307+ patch --directory=" ${zlib_directory} " --strip=' 1' --input=" ${workdir} /patches/0001-Remove-versioned-SONAME-from-libz.patch"
308+ fi
309+
283310if ! [ -f " ${zstd_tarball} " ]; then
284311 curl \
285312 --url ' https://github.com/facebook/zstd/archive/refs/heads/dev.tar.gz' \
@@ -423,6 +450,23 @@ rm --force --recursive ./*
423450make all --jobs
424451make install
425452
453+ [ -d " ${zlib_directory} /build" ] || mkdir " ${zlib_directory} /build"
454+
455+ cd " ${zlib_directory} /build"
456+ rm --force --recursive ./*
457+
458+ ../configure \
459+ --host=" ${CROSS_COMPILE_TRIPLET} " \
460+ --prefix=" ${toolchain_directory} " \
461+ CFLAGS=" ${ccflags} " \
462+ CXXFLAGS=" ${ccflags} " \
463+ LDFLAGS=" ${linkflags} "
464+
465+ make all --jobs
466+ make install
467+
468+ unlink " ${toolchain_directory} /lib/libz.a"
469+
426470[ -d " ${zstd_directory} /.build" ] || mkdir " ${zstd_directory} /.build"
427471
428472cd " ${zstd_directory} /.build"
@@ -522,9 +566,10 @@ for target in "${targets[@]}"; do
522566 --with-sysroot=" ${toolchain_directory} /${triplet} " \
523567 --without-static-standard-libraries \
524568 --with-zstd=" ${toolchain_directory} " \
525- CFLAGS=" ${ccflags} " \
526- CXXFLAGS=" ${ccflags} " \
527- LDFLAGS=" ${linkflags} "
569+ --with-system-zlib \
570+ CFLAGS=" -I${toolchain_directory} /include ${ccflags} " \
571+ CXXFLAGS=" -I${toolchain_directory} /include ${ccflags} " \
572+ LDFLAGS=" -L${toolchain_directory} /lib ${linkflags} "
528573
529574 make all --jobs
530575 make install
@@ -558,6 +603,7 @@ for target in "${targets[@]}"; do
558603 --with-mpfr=" ${toolchain_directory} " \
559604 --with-isl=" ${toolchain_directory} " \
560605 --with-zstd=" ${toolchain_directory} " \
606+ --with-system-zlib \
561607 --with-bugurl=' https://github.com/AmanoTeam/obggcc/issues' \
562608 --with-gcc-major-version-only \
563609 --with-pkgversion=" OBGGCC v3.5-${revision} " \
@@ -605,7 +651,7 @@ for target in "${targets[@]}"; do
605651 ${extra_configure_flags} \
606652 CFLAGS=" ${ccflags} " \
607653 CXXFLAGS=" ${ccflags} " \
608- LDFLAGS=" ${linkflags} "
654+ LDFLAGS=" -L ${toolchain_directory} /lib ${linkflags} "
609655
610656 cflags_for_target=" ${ccflags} ${linkflags} "
611657 cxxflags_for_target=" ${ccflags} ${linkflags} "
0 commit comments