Bootstrap newer autotools versions before binutils.

This commit is contained in:
Andrius Štikonas 2023-02-18 07:53:12 +08:00
parent d4eeba9d7a
commit cd396db5d5
5 changed files with 64 additions and 63 deletions

View File

@ -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
==========

View File

@ -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

View File

@ -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"
}

View File

@ -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

View File

@ -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