GCC 4.7.4

This commit is contained in:
Andrius Štikonas 2021-07-01 19:59:10 +01:00
parent 740fa5635b
commit 2b69b2dca2
7 changed files with 154 additions and 1 deletions

View File

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

View File

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

View File

@ -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"])

View File

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

117
sysa/gcc-4.7.4/pass1.sh Executable file
View File

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

View File

@ -1,2 +1,2 @@
41a415de1416cb8d8f325c5b4668ea080e6426f5700daa725268835f47714f9b /image/lib/musl/libunistring.a
223a0ddeae31170abb032ae31f015ba5a13c7bf1b676f6796f9ed7a38c417afa /image/lib/musl/libunistring.a
92fdc350d4141210cf1d01d271dd5a564ff6b4337b4de2f1f135a91a6541e0c2 /image/lib/musl/libunistring.la

View File

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