From cd396db5d56f5f43637930d960a9ecfcb55fff70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 18 Feb 2023 07:53:12 +0800 Subject: [PATCH] Bootstrap newer autotools versions before binutils. --- parts.rst | 78 ++++++++++++------------- sysa/SHA256SUMS.pkgs | 4 +- sysa/automake-1.10.3/automake-1.10.3.sh | 5 +- sysa/gcc-4.0.4/pass1.sh | 4 +- sysa/run.sh | 36 ++++++------ 5 files changed, 64 insertions(+), 63 deletions(-) diff --git a/parts.rst b/parts.rst index b7bee58..ded473c 100644 --- a/parts.rst +++ b/parts.rst @@ -466,34 +466,6 @@ autoconf 2.12 Yet another old autoconf version that we will need for some parts of GNU Binutils. -libtool 1.4 -=========== - -GNU Libtool is the final part of GNU Autotools. It is a script used to hide away differences -when compiling shared libraries on different platforms. - -binutils 2.14 -============= - -The GNU Binary Utilities, or binutils, are a set of programming tools for creating and -managing binary programs, object files, libraries, profile data, and assembly source code. - -In particular we can now use full featured ``ar`` instead of ``tcc -ar``, -the GNU linker ``ld``, which allows us building shared libraries, -and the GNU assembler ``as``. - -musl 1.1.24 (v3) -================ - -We rebuild musl for the third time. This time we use GNU ar rather than ``tcc -ar``, -so we can drop weak symbols patch. Also, we can use GNU as to build assembly source files, -so those assembly files that tcc failed to compile no longer have to be patched. - -tcc 0.9.27 (musl v3) -==================== - -We rebuild tcc against new musl and without a patch to ignore duplicate symbols. - autoconf 2.53 ============= @@ -557,17 +529,6 @@ automake 1.9.6 Latest GNU Automake from 1.9 series. Slightly annoyingly depends itself but it is easy to patch to make it buildable with 1.8.5. -findutils 4.2.33 -================ - -GNU Find Utilities can be used to search for files. We are mainly interested -in ``find`` and ``xargs`` that are often used in scripts. - -libtool 2.2.4 -============= - -Newer version of libtool which is more compatible with modern Autotools. - automake 1.10.3 =============== @@ -580,6 +541,39 @@ autoconf 2.64 Slightly newer version of GNU Autoconf. At this stage Autoconf is mostly backwards compatible but newer versions need newer ``automake``. +libtool 1.4 +=========== + +GNU Libtool is the final part of GNU Autotools. It is a script used to hide away differences +when compiling shared libraries on different platforms. + +binutils 2.14 +============= + +The GNU Binary Utilities, or binutils, are a set of programming tools for creating and +managing binary programs, object files, libraries, profile data, and assembly source code. + +In particular we can now use full featured ``ar`` instead of ``tcc -ar``, +the GNU linker ``ld``, which allows us building shared libraries, +and the GNU assembler ``as``. + +libtool 2.2.4 +============= + +Newer version of libtool which is more compatible with modern Autotools. + +musl 1.1.24 (v3) +================ + +We rebuild musl for the third time. This time we use GNU ar rather than ``tcc -ar``, +so we can drop weak symbols patch. Also, we can use GNU as to build assembly source files, +so those assembly files that tcc failed to compile no longer have to be patched. + +tcc 0.9.27 (musl v3) +==================== + +We rebuild tcc against new musl and without a patch to ignore duplicate symbols. + gcc 4.0.4 ========= @@ -593,6 +587,12 @@ At this stage we are not yet able to regenerate top-level ``Makefile.in`` which needs GNU Autogen and hence Guile. Luckily, building GCC without top-level ``Makefile`` is fairly easy. +findutils 4.2.33 +================ + +GNU Find Utilities can be used to search for files. We are mainly interested +in ``find`` and ``xargs`` that are often used in scripts. + musl 1.2.2 ========== diff --git a/sysa/SHA256SUMS.pkgs b/sysa/SHA256SUMS.pkgs index e7b2661..3f48707 100644 --- a/sysa/SHA256SUMS.pkgs +++ b/sysa/SHA256SUMS.pkgs @@ -13,7 +13,7 @@ d5fcce4baea5e11f983a7e4b7148545ab6720bb4e010898c73387f6711be67f4 autoconf-2.64_ 8c2401edf1c68910005bbcb8b8e84727a46f7d9643d2ad1267bd0259078dadc4 autoconf-2.71_0.tar.bz2 6ff691e3ddd4f3d1796d28b07a2a96691dbd9801844c99ccbe660da59dabd74b autoconf-archive-2021.02.19_0.tar.bz2 423502989faf6e752f8e84afa7166c66067c0d1264b549323e5bcc8d983dadc1 autogen-5.18.16_0.tar.bz2 -fbd8739c8f69b388e2c54893faa1180cc38f2718339da82788312adb0201c5d0 automake-1.10.3_0.tar.bz2 +02a426e82a52d4a2cd7e73fe3dc5a2c58b3ed100f24a92c57e42511fd86e247c automake-1.10.3_0.tar.bz2 7014bcba2fc112f3c22129a69b32dd3939eac97267d0ee271aa35853fdeee9fe automake-1.11.2_0.tar.bz2 a7bd12bd0c639783ce1c0e9f640cf004a87460bbda8154bc550c5e6884457b48 automake-1.15.1_0.tar.bz2 57100612d902537b72ee2fd3dfecc903f2ea3959f1a480af87c6a1ef9a9d7c03 automake-1.16.3_0.tar.bz2 @@ -68,7 +68,7 @@ bb53d9d46fe787a09d5ddaf3d7bcd335f00ae192511a9e393f12149d74557952 libarchive-3.5 e479b8ba2e13081bf31a416c463be98feb3f747630418de7ed40f309005c3412 libatomic_ops-7.6.10_0.tar.bz2 fcf30550a8e84be824fd2296a7964c404cb54e9df2f31af484a504342342c0fe libffi-3.3_0.tar.bz2 21184c86d51a315211ac1a8257bf288b2c948076177735cdd9aecdd254aa6984 libtool-1.4_0.tar.bz2 -a153fe22c4cd96b95e870edc351bee3bff8e6419f33b8a6b0ff81010cf786df0 libtool-2.2.4_0.tar.bz2 +15231bf3669b6cd2e3e7bf2dc678ecf92091f44099c46d72ec07bfe8067e4b84 libtool-2.2.4_0.tar.bz2 1896a7a093a0eb6665cc022d42ed3fbab16a1c627522ed679753ea010edd46a5 libtool-2.4.7_0.tar.bz2 564fcf89cb762b99e58dddb39c3812084a701447209bd4cf0dc06661e337c265 libunistring-0.9.10_0.tar.bz2 1d07aaf7049be45853fd409340cdb52bb3a1b6dfa4dbc8b69358c1ee966cd67f linux-4.9.10_0.tar.bz2 diff --git a/sysa/automake-1.10.3/automake-1.10.3.sh b/sysa/automake-1.10.3/automake-1.10.3.sh index 5169dce..a32f5aa 100755 --- a/sysa/automake-1.10.3/automake-1.10.3.sh +++ b/sysa/automake-1.10.3/automake-1.10.3.sh @@ -8,7 +8,9 @@ src_prepare() { rm doc/amhello-1.0.tar.gz doc/automake.info* - sed -i 's/autoreconf/autoreconf-2.61/' doc/Makefile.am + awk '/SUBDIRS/{sub("doc ", "", $0)} {print}' Makefile.am > Makefile.am.tmp + mv Makefile.am.tmp Makefile.am + AUTOM4TE=autom4te-2.61 AUTOCONF=autoconf-2.61 AUTOHEADER=autoheader-2.61 AUTORECONF=autoreconf-2.61 ./bootstrap } @@ -22,6 +24,5 @@ src_compile() { src_install() { make install MAKEINFO=true DESTDIR="${DESTDIR}" - rm "${DESTDIR}${PREFIX}/share/doc/automake/amhello-1.0.tar.gz" rm "${DESTDIR}/usr/bin/automake" "${DESTDIR}/usr/bin/aclocal" } diff --git a/sysa/gcc-4.0.4/pass1.sh b/sysa/gcc-4.0.4/pass1.sh index 872398c..c20fe73 100755 --- a/sysa/gcc-4.0.4/pass1.sh +++ b/sysa/gcc-4.0.4/pass1.sh @@ -56,10 +56,10 @@ src_prepare() { rm gcc/gengtype-lex.c # Remove translation catalogs - find . -name '*.gmo' -delete + rm gcc/po/*.gmo libcpp/po/*.gmo # Pre-built texinfo files - find . -name '*.info' -delete + rm gcc/doc/*.info # Pre-built man files rm gcc/doc/*.1 gcc/doc/*.7 diff --git a/sysa/run.sh b/sysa/run.sh index a8520c3..8044845 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -170,18 +170,6 @@ build autoconf-2.13 build autoconf-2.12 -build libtool-1.4 - -build binutils-2.14 - -# Build musl with fewer patches -build musl-1.1.24 binutils-rebuild.sh patches-pass3 - -# Rebuild tcc-musl using new musl -build tcc-0.9.27 tcc-musl-pass3.sh patches-musl-pass3 - -populate_device_nodes - build autoconf-2.53 build automake-1.7 @@ -204,23 +192,35 @@ build autoconf-2.61 build automake-1.9.6 -build findutils-4.2.33 - -build libtool-2.2.4 - build automake-1.10.3 build autoconf-2.64 +build libtool-1.4 + +build binutils-2.14 + +build libtool-2.2.4 + +# Build musl with fewer patches +build musl-1.1.24 binutils-rebuild.sh patches-pass3 + +# Rebuild tcc-musl using new musl +build tcc-0.9.27 tcc-musl-pass3.sh patches-musl-pass3 + +populate_device_nodes + build gcc-4.0.4 pass1.sh +build findutils-4.2.33 + +build musl-1.2.3 + # This hack fixes a strange bug in mes libc bash set -x build linux-headers-5.10.41 '' '' linux-5.10.41 set +x -build musl-1.2.3 - build gcc-4.0.4 pass2.sh build util-linux-2.19.1