commit: f59909142de586636a22e1913ad9ddda89c917aa
parent a185b83f80a2e07969900ac3430bfc57de867030
Author: Andrius Štikonas <andrius@stikonas.eu>
Date: Tue, 30 Mar 2021 20:59:42 +0100
Fix gcc not to use pregen files.
Fixes #78
Diffstat:
6 files changed, 74 insertions(+), 55 deletions(-)
diff --git a/parts.rst b/parts.rst
@@ -536,6 +536,10 @@ compiler for most projects related to GNU and the Linux kernel.
Only the C frontend is built at this stage.
+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.
+
musl 1.2.2
==========
diff --git a/sysa/bash-5.1/checksums b/sysa/bash-5.1/checksums
@@ -1 +1 @@
-42d8035dd5e893be2dabcaee3064e13b9d993efae5383bedececa9a7ef172ff0 /after/bin/bash
+bf782a82ac8ce393d2a028cec337a4f9428f8ab93d2ae11b026dcc8a027b80a7 /after/bin/bash
diff --git a/sysa/gcc-4.0.4/checksums/pass1 b/sysa/gcc-4.0.4/checksums/pass1
@@ -1,14 +1,13 @@
-6ca1ff5a1dd835e2378a8d827c5ec8a68121c7b5c719ab56f71f9d717b8e007e /after/bin/cpp
-236bb12f3c0b6fb28dee325dfcfcf1cd87dc057aaac307e76a7124c4d071c349 /after/bin/gcc
-236bb12f3c0b6fb28dee325dfcfcf1cd87dc057aaac307e76a7124c4d071c349 /after/bin/i386-unknown-linux-gnu-gcc
-236bb12f3c0b6fb28dee325dfcfcf1cd87dc057aaac307e76a7124c4d071c349 /after/bin/i386-unknown-linux-gnu-gcc-4.0.4
-903b1dae32b217048b1a35a934836496027e6947b77f5711cb8714cd5241dda0 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/cc1
-711689a618e34a0cff2c6061e554f9a2f9d447a7623bd46ba11c2eb816932883 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/collect2
-a3fbed284b1efaf6fccfc81eddd9bad8c4cf07673b16e8885ad6f31a1569c9b4 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/install-tools/fixincl
-f2c7e7bf5377e10927c5d243eaa9eb3ae9bed7aab393621831673b368ebae00f /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbegin.o
-c76e19409c9344a10213e0abb18481aae6416342db4971fb99a116a91fb164da /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbeginS.o
-f2c7e7bf5377e10927c5d243eaa9eb3ae9bed7aab393621831673b368ebae00f /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbeginT.o
+dab0ba7d7f68cc03646b367619c3be4ebf16c39fb217a105019d5162df42947f /after/bin/cpp
+773e7a59b9b0c6e7695ac77ebf566c547959d3991743f09bd0c6467e64e4a7c7 /after/bin/gcc
+773e7a59b9b0c6e7695ac77ebf566c547959d3991743f09bd0c6467e64e4a7c7 /after/bin/i386-unknown-linux-gnu-gcc
+773e7a59b9b0c6e7695ac77ebf566c547959d3991743f09bd0c6467e64e4a7c7 /after/bin/i386-unknown-linux-gnu-gcc-4.0.4
+df9f52d38e64514296964c5fbcd8ce2aba011d6ff47f15b6fd9158aed193dbcf /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/cc1
+9b8dc5d577de150dcb61150086481d2205aed982344cf059d51c8dc88c5ba9a4 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/collect2
+de4566c661258fa626ea7076e6c57af95c01d0786bcdadb12af23852cc421a2a /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbegin.o
+c7eea5e845fe2ee5538704d59c6e777d4f72b7100e78d5f86f8d95d96ab2ec20 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbeginS.o
+de4566c661258fa626ea7076e6c57af95c01d0786bcdadb12af23852cc421a2a /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbeginT.o
342276a6ad25e3d064bba9c5d50fbeaae15d0aefdc5c72b1e796366189af1b1b /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtend.o
2bf001e0be96ea7c53adf35b1bf0a677eee02008e3aee6c30166d100b720687c /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtendS.o
-e3c2b3754058829d79b42a4968f3a3dda6e289b51b4b3580f4ccbc64ff473a26 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/libgcc.a
-fc093c2bcf6473237c1187fc93b60e5d353bf710958d7151283c96074af0a899 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/libgcov.a
+7b416e87b8e5998c042b64b4b87499720895c17deeffc0bc1b79f6fac502d51b /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/libgcc.a
+efc9783c7386519ef7d5bfe7fadf16d4b6b717deb18dd04e09d810354f015942 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/libgcov.a
diff --git a/sysa/gcc-4.0.4/checksums/pass2 b/sysa/gcc-4.0.4/checksums/pass2
@@ -1,14 +1,13 @@
-88dbe31603504b89ced21ceb5d7205f20c9473a6df814bb80f2b28ddebc977c5 /after/bin/cpp
-2b909307bd6b0bf7fed4363122948561da6518acfd74b809c3ab7ede2da8fcfb /after/bin/gcc
-2b909307bd6b0bf7fed4363122948561da6518acfd74b809c3ab7ede2da8fcfb /after/bin/i386-unknown-linux-gnu-gcc
-2b909307bd6b0bf7fed4363122948561da6518acfd74b809c3ab7ede2da8fcfb /after/bin/i386-unknown-linux-gnu-gcc-4.0.4
-7fda283cdddc9ecb96aa64eee6ba70a95b5547e47537934ec3a98a7f9846b563 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/cc1
-289a9da62408356b8d21472497fd26b9021e27b9bc7834b969d11791eba4fd58 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/collect2
-8c8c0c1781c361a5e585811c3712ae8d052c6d2bb1d18328c50329b74e712144 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/install-tools/fixincl
-282f0f0d79a9f1559f700db14f8a360194e1e8ab522ecad91aa29d10ea1bfb1a /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbegin.o
-693e3dc5d35724960692e3e81280bad9e21de68f3884e52b86e874d20baf8151 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbeginS.o
-282f0f0d79a9f1559f700db14f8a360194e1e8ab522ecad91aa29d10ea1bfb1a /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbeginT.o
+49099736ba74bd065e8767ed1ae5e9eaff93993ada8a9106ea38fb1d46fb9c65 /after/bin/cpp
+87f9d3a527ebcd88f23a3fbdc32ed383c76dc234a128cf8ff31ebc7b75e7a4b3 /after/bin/gcc
+87f9d3a527ebcd88f23a3fbdc32ed383c76dc234a128cf8ff31ebc7b75e7a4b3 /after/bin/i386-unknown-linux-gnu-gcc
+87f9d3a527ebcd88f23a3fbdc32ed383c76dc234a128cf8ff31ebc7b75e7a4b3 /after/bin/i386-unknown-linux-gnu-gcc-4.0.4
+f853f77a4f040eee8cda44d5b96e751e58874ac814118848994785df2e9f7490 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/cc1
+29c521d36c748731b4fa2afca2a9d94565da795312d51cf5f1032f3397537514 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/collect2
+a07db1648128987f10debb1730b4456c0423aab5bd93d68e4f2b47447a11c5d9 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbegin.o
+20a3bbbd5cd59b91660628d416d489437463b651fa15b5ea5f026b45c9e35b65 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbeginS.o
+a07db1648128987f10debb1730b4456c0423aab5bd93d68e4f2b47447a11c5d9 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbeginT.o
342276a6ad25e3d064bba9c5d50fbeaae15d0aefdc5c72b1e796366189af1b1b /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtend.o
2bf001e0be96ea7c53adf35b1bf0a677eee02008e3aee6c30166d100b720687c /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtendS.o
-e1789e68464c8c04e77180f8a5dc5855aa6b488a8b11526c77f70d89453122e4 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/libgcc.a
-3332fba4918963e196c701e00cc68ea28c5b00b4da0bd01ace911f0441c4932c /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/libgcov.a
+5d3c8a9b80e4e34dfb70a56d6e23a05e01d2ecdbf60232a1b053462d4a98e99e /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/libgcc.a
+f8c3b07e0f98b7f34ac0960d98f3b59ee0f47c42e72c529d10d66dccdc9b5d46 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/libgcov.a
diff --git a/sysa/gcc-4.0.4/pass1.sh b/sysa/gcc-4.0.4/pass1.sh
@@ -14,8 +14,10 @@ src_prepare() {
# Needed for musl
sed -i 's/struct siginfo/siginfo_t/' gcc/config/i386/linux-unwind.h
- rm configure
- autoconf-2.13
+ # 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
+
for dir in intl libcpp; do
cd $dir
rm aclocal.m4
@@ -61,14 +63,20 @@ src_prepare() {
src_configure() {
mkdir build
cd build
- CC=tcc CFLAGS="-D HAVE_ALLOCA_H" ../configure \
- --prefix="${PREFIX}" \
- --libdir="${PREFIX}"/lib/musl \
- --build=i386-unknown-linux-gnu \
- --host=i386-unknown-linux-gnu \
- --disable-shared \
- --disable-nls \
- --disable-libmudflap
+
+ for dir in libiberty libcpp gcc; do
+ mkdir $dir
+ cd $dir
+ CC=tcc CFLAGS="-D HAVE_ALLOCA_H" ../../$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 ..
sed -i 's/C_alloca/alloca/g' libiberty/alloca.c
@@ -76,13 +84,13 @@ src_configure() {
}
src_compile() {
- mkdir -p /usr/
- ln -sf "${PREFIX}"/include /usr/include
- ln -sf /usr/include/limits.h /usr/include/sys/limits.h
-
- make -C build LIBGCC2_INCLUDES=-I"${PREFIX}/include/musl"
+ ln -s . build/build-i386-unknown-linux-gnu
+ for dir in libiberty libcpp gcc; do
+ make -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include/musl" STMP_FIXINC=
+ done
}
src_install() {
- make -C build install
+ mkdir -p "${PREFIX}/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/install-tools/include"
+ make -C build/gcc install STMP_FIXINC=
}
diff --git a/sysa/gcc-4.0.4/pass2.sh b/sysa/gcc-4.0.4/pass2.sh
@@ -13,8 +13,10 @@ src_prepare() {
# Needed for musl
sed -i 's/struct siginfo/siginfo_t/' gcc/config/i386/linux-unwind.h
- rm configure
- autoconf-2.13
+ # 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
+
for dir in intl libcpp; do
cd $dir
rm aclocal.m4
@@ -60,23 +62,30 @@ src_prepare() {
src_configure() {
mkdir build
cd build
- ../configure \
- --prefix="${PREFIX}" \
- --libdir="${PREFIX}"/lib/musl \
- --build=i386-unknown-linux-gnu \
- --host=i386-unknown-linux-gnu \
- --disable-shared \
- --disable-nls \
- --disable-libmudflap
+
+ for dir in libiberty libcpp gcc; 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() {
- mkdir -p /usr/
- ln -sf "${PREFIX}"/include /usr/include
- make -C build LIBGCC2_INCLUDES=-I"${PREFIX}/include/musl"
+ ln -s . build/build-i386-unknown-linux-gnu
+ for dir in libiberty libcpp gcc; do
+ make -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include/musl" STMP_FIXINC=
+ done
}
src_install() {
- make -C build install
+ make -C build/gcc install STMP_FIXINC=
}