commit: 2b69b2dca22a13a1d39629c99b1396adeadf545a
parent 740fa5635b89ac3574b131aba792d269e0faf872
Author: Andrius Štikonas <andrius@stikonas.eu>
Date: Thu, 1 Jul 2021 19:59:10 +0100
GCC 4.7.4
Diffstat:
7 files changed, 154 insertions(+), 1 deletion(-)
diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources
@@ -38,6 +38,7 @@ c40385e142989c91989413f3c5a31282b2ffdca16b69cd3ecfde537b8a474921 flex-2.5.33.ta
e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995 flex-2.6.4.tar.gz
5cc35def1ff4375a8b9a98c2ff79e95e80987d24f0d42fdbb7b7039b3ddb3fb0 gawk-3.0.4.tar.gz
e9bf58c761a4f988311aef6b41f12fd5c7e51d09477468fb73826aecc1be32e7 gcc-4.0.4.tar.bz2
+92e61c6dc3a0a449e62d72a38185fda550168a86702dea07125ebd3ec3996282 gcc-4.7.4.tar.bz2
d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192 gettext-0.21.tar.xz
fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2 gmp-6.2.1.tar.xz
df807e694deea2dcba0c43af318394f3e3fcd52658c3b71b61dad0ce0c0cfb77 gnulib-30820c.tar.gz
diff --git a/parts.rst b/parts.rst
@@ -695,6 +695,12 @@ zlib 1.2.11
zlib is a software library used for data compression and implements an abstraction of
DEFLATE algorithm that is also used in ``gzip``.
+gcc 4.7.4
+=========
+
+GCC 4.7.4 is the last version written in C. We again build just C frontent but this
+time it supports C11 that we need to build GNU Guile.
+
libunistring 0.9.10
===================
diff --git a/sysa.py b/sysa.py
@@ -455,6 +455,9 @@ class SysA:
# zlib 1.2.11
self.get_file("https://www.zlib.net/zlib-1.2.11.tar.xz")
+ # gcc 4.7.4
+ self.get_file("https://mirrors.kernel.org/gnu/gcc/gcc-4.7.4/gcc-4.7.4.tar.bz2")
+
# libunistring 0.9.10
self.get_file(["https://mirrors.kernel.org/gnu/libunistring/libunistring-0.9.10.tar.xz",
"https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-52a06cb3.tar.gz"])
diff --git a/sysa/gcc-4.7.4/checksums/pass1 b/sysa/gcc-4.7.4/checksums/pass1
@@ -0,0 +1,24 @@
+3c3aa0e9f2aa389f357a5a2bad6e23d61f0a85e90a945ed16a558727fd94b290 /image/bin/cpp
+76c3b9a3f9b90a5ca919c118b7ddb4b09f3e45ac3b4c44e9e97b8829884151ab /image/bin/gcc
+266c4fe1a3e1bd4f71a6e7ab219f328205182372f1c1a400e76e7ec63dbc356f /image/bin/gcc-ar
+8c6d77f879721f9a5da818cf63ba7b0e474973249639805fa3a1f658c445afe9 /image/bin/gcc-nm
+41e22f3d521416fd48a6a3c6e795542aa0bff7a2e96e387eba34e0061c2e67f8 /image/bin/gcc-ranlib
+1657ba8afdac845ddfa8842efa5e7bf3cfc9be23aa31f6265e3f43eead1316d4 /image/bin/gcov
+76c3b9a3f9b90a5ca919c118b7ddb4b09f3e45ac3b4c44e9e97b8829884151ab /image/bin/i386-unknown-linux-gnu-gcc-4.7.4
+266c4fe1a3e1bd4f71a6e7ab219f328205182372f1c1a400e76e7ec63dbc356f /image/bin/i386-unknown-linux-gnu-gcc-ar
+8c6d77f879721f9a5da818cf63ba7b0e474973249639805fa3a1f658c445afe9 /image/bin/i386-unknown-linux-gnu-gcc-nm
+41e22f3d521416fd48a6a3c6e795542aa0bff7a2e96e387eba34e0061c2e67f8 /image/bin/i386-unknown-linux-gnu-gcc-ranlib
+f191c9027f540bca927fcd4829e0dd96546500c17fe7eb477764aa6998b3a9ac /image/libexec/gcc/i386-unknown-linux-gnu/4.7.4/cc1
+a96e1cd5eff7904cfcd260e859a65bf38c45eafe3f81b7df537e0bb68543e856 /image/libexec/gcc/i386-unknown-linux-gnu/4.7.4/collect2
+4dd787d729d8d57434fb7cfaf2a7a42dfca2bdf665e6e5246fb56e4cee0f10fd /image/libexec/gcc/i386-unknown-linux-gnu/4.7.4/lto-wrapper
+b85d6aabe0ffa30cc2fa1f6a1c899256b4051086c566d9c75299c6b2f6cbd618 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtbegin.o
+db6caa96b09785d820b2b5a6fc0e2c49dc1980a18b6a6472aa2ccdb5f38fef57 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtbeginS.o
+b85d6aabe0ffa30cc2fa1f6a1c899256b4051086c566d9c75299c6b2f6cbd618 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtbeginT.o
+42a533b816b6c060f4269a310112bde2e07329cb3c2fa5b21bbad6d2d03e90b5 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtend.o
+e5059cb3aaec30653dfb2cbc09ee555218d276d6b49b1ddc05ba8c4d63e3edfb /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtendS.o
+042ed2a9c7c8ea05291f79d30ad6f2bb61a9d1a58494ee835e1cb5473b5b5b4b /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtfastmath.o
+135b6793737d181031ac9042fd42c38f7c627468447f9c90f687156968282c6f /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtprec32.o
+67ea5a6dc10582c4b4c3f53763c7408874c625e054dc4f7137206a1c927bc0b5 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtprec64.o
+412c06a772f2bceaef31514685c7634358b9d7a5e01b30c3b1aef2dd24ad68f9 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/crtprec80.o
+65082b00fb62e18e816e99a533835a5025794907b8f4d8b5075d3a607249ab08 /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/libgcc.a
+af7c0180e5f5854947414ff8f4dac6dcc8b853cb56e592be367760fd4869829d /image/lib/musl/gcc/i386-unknown-linux-gnu/4.7.4/libgcov.a
diff --git a/sysa/gcc-4.7.4/pass1.sh b/sysa/gcc-4.7.4/pass1.sh
@@ -0,0 +1,117 @@
+# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
+# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
+
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+src_prepare() {
+ default
+
+ # Needed for musl
+ sed -i 's/struct siginfo/siginfo_t/' libgcc/config/i386/linux-unwind.h
+
+ # Regenerating top level Makefile requires GNU Autogen and hence Guile,
+ # but it is not essential for building gcc.
+ rm configure Makefile.in fixincludes/fixincl.x
+
+ # Regenerate aclocal.m4 files
+ # grep "generated automatically by aclocal" */aclocal.m4 -l | sed -e 's#/aclocal.m4##' | tr "\n" " " | sed -e 's/ $/\n/'
+ for dir in intl libcpp libdecnumber; do
+ cd $dir
+ rm aclocal.m4
+ AUTOCONF=autoconf-2.64 AUTOM4TE=autom4te-2.64 aclocal-1.11 --acdir=../config
+ cd ..
+ done
+ cd gcc
+ rm aclocal.m4
+ AUTOCONF=autoconf-2.64 AUTOM4TE=autom4te-2.64 aclocal-1.11 --acdir=../config #AM_PROG_CC_C_O
+ cd ..
+ cd fixincludes
+ rm aclocal.m4
+ AUTOCONF=autoconf-2.64 AUTOM4TE=autom4te-2.64 aclocal-1.11 --acdir=../gcc
+ cd ..
+ #libjava warning
+ for dir in boehm-gc libffi libgfortran libgo libgomp libitm libjava libmudflap libobjc libquadmath libssp libstdc++-v3 lto-plugin zlib; do
+ cd $dir
+ rm aclocal.m4
+ AUTOCONF=autoconf-2.64 AUTOM4TE=autom4te-2.64 aclocal-1.11
+ cd ..
+ done
+
+ # Regenerate configure scripts
+ for dir in $(ls */configure | sed 's#/configure##' | tr "\n" " " | sed -e 's/ $/\n/' -e 's/^boehm-gc //'); do
+ cd $dir
+ rm configure
+ autoconf-2.64 || autoconf-2.64
+ cd ..
+ done
+
+ # Regenerate Makefile.in
+ for dir in $(ls */Makefile.am | sed 's#/Makefile.am##' | tr "\n" " " | sed -e 's/ $/\n/' -e 's/^boehm-gc //'); do
+ cd $dir
+ rm Makefile.in
+ AUTOCONF=autoconf-2.64 AUTOM4TE=autom4te-2.64 automake-1.11
+ cd ..
+ done
+
+ for dir in libdecnumber libcpp libiberty gcc; do
+ cd $dir
+ rm -f config.in
+ autoheader-2.64
+ cd ..
+ done
+
+ # Rebuild libtool files
+ rm config.guess config.sub ltmain.sh
+ libtoolize
+ cp "${PREFIX}/"/share/automake-1.9/config.sub .
+
+ # Workaround for bison being too new
+ rm intl/plural.c
+
+ # Rebuild flex generated files
+ rm gcc/gengtype-lex.c
+
+ # Remove translation catalogs
+ find . -name '*.gmo' -delete
+
+ # Pre-built texinfo files
+ find . -name '*.info' -delete
+}
+
+src_configure() {
+ mkdir build
+ cd build
+
+ for dir in libiberty libcpp libdecnumber gcc libgcc; do
+ mkdir $dir
+ cd $dir
+ ../../$dir/configure \
+ --prefix="${PREFIX}" \
+ --libdir="${PREFIX}"/lib/musl \
+ --build=i386-unknown-linux-gnu \
+ --target=i386-unknown-linux-gnu \
+ --host=i386-unknown-linux-gnu \
+ --disable-shared \
+ --program-transform-name=
+ cd ..
+ done
+ cd ..
+}
+
+src_compile() {
+ ln -s . build/build-i386-unknown-linux-gnu
+ for dir in libiberty libcpp libdecnumber gcc; do
+ # We have makeinfo now but it is not happy with gcc .info files, so skip it
+ make -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" \
+ STMP_FIXINC= GMPLIBS="-lmpc -lmpfr -lgmp" MAKEINFO=true
+ done
+
+ # host_subdir is necessary because we have slightly different build directory layout
+ make -C build/libgcc PATH="${PATH}:../gcc" CC=../gcc/xgcc \
+ host_subdir=build CFLAGS="-I../gcc/include -I/${PREFIX}/include"
+}
+
+src_install() {
+ make -C build/gcc install STMP_FIXINC= DESTDIR="${DESTDIR}" MAKEINFO=true
+ make -C build/libgcc install DESTDIR="${DESTDIR}" host_subdir=build
+}
diff --git a/sysa/libunistring-0.9.10/checksums b/sysa/libunistring-0.9.10/checksums
@@ -1,2 +1,2 @@
-41a415de1416cb8d8f325c5b4668ea080e6426f5700daa725268835f47714f9b /image/lib/musl/libunistring.a
+223a0ddeae31170abb032ae31f015ba5a13c7bf1b676f6796f9ed7a38c417afa /image/lib/musl/libunistring.a
92fdc350d4141210cf1d01d271dd5a564ff6b4337b4de2f1f135a91a6541e0c2 /image/lib/musl/libunistring.la
diff --git a/sysa/run2.sh b/sysa/run2.sh
@@ -60,6 +60,8 @@ build texinfo-6.7
build zlib-1.2.11
+build gcc-4.7.4 pass1.sh checksums/pass1
+
build libunistring-0.9.10
if [ "$FORCE_TIMESTAMPS" = True ] ; then