From 6e1e3ff6094fb3cc96dbe1e6365d0249fafce443 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Sat, 23 Feb 2019 03:55:25 +0000 Subject: GCC build rule doesn't depend on Binutils In an attempt to test the GCC build rule (without Binutils, because its too architecture dependent), all the necessary dependencies were moved to GCC (from `ld'). Also `fortran' was also added to the languages supported by GCC. This rule built GCC 8.2.0 nicely on my GNU/Linux system. But `gcc' is still not a final target to built, so the rule is being ignored for now. --- .file-metadata | Bin 4007 -> 4007 bytes reproduce/config/pipeline/dependency-versions.mk | 2 +- reproduce/src/make/dependencies-basic.mk | 31 +++++++++++------------ 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/.file-metadata b/.file-metadata index dec165e..45992a4 100644 Binary files a/.file-metadata and b/.file-metadata differ diff --git a/reproduce/config/pipeline/dependency-versions.mk b/reproduce/config/pipeline/dependency-versions.mk index f0774bc..c704e27 100644 --- a/reproduce/config/pipeline/dependency-versions.mk +++ b/reproduce/config/pipeline/dependency-versions.mk @@ -23,7 +23,7 @@ libbsd-version = 0.9.1 lzip-version = 1.20 make-version = 4.2.90 metastore-version = 1.1.2-23-fa9170b -mpfr-version = 4.0.1 +mpfr-version = 4.0.2 mpc-version = 1.1.0 ncurses-version = 6.1 openssl-version = 1.1.1a diff --git a/reproduce/src/make/dependencies-basic.mk b/reproduce/src/make/dependencies-basic.mk index ebe7551..4f5362f 100644 --- a/reproduce/src/make/dependencies-basic.mk +++ b/reproduce/src/make/dependencies-basic.mk @@ -669,20 +669,10 @@ $(ilidir)/isl: $(tdir)/isl-$(isl-version).tar.bz2 \ $(call gbuild, $<, isl-$(isl-version), static) \ && echo "GCC's ISL library is built" > $@ -# On non-GNU systems, the default linker is different and we don't want our -# new linker to be mixed with that during the building of libraries and -# programs before GCC. -$(ibdir)/ld: $(tdir)/binutils-$(binutils-version).tar.lz \ - $(ibdir)/ls \ - $(ibdir)/sed \ - $(ilidir)/isl \ - $(ilidir)/mpc \ - $(ibdir)/gawk \ - $(ibdir)/grep \ - $(ibdir)/diff \ - $(ibdir)/find \ - $(ibdir)/bash \ - $(ibdir)/which +# Binutils' linker `ld' is apparently only good for GNU/Linux systems and +# other OSs have their own. So for now we aren't actually building +# Binutils (`ld' isn't a prerequisite of GCC). +$(ibdir)/ld: $(tdir)/binutils-$(binutils-version).tar.lz $(call gbuild, $<, binutils-$(binutils-version), static) @@ -709,7 +699,16 @@ $(ibdir)/ld: $(tdir)/binutils-$(binutils-version).tar.lz \ # used in a configure script to enable GCC's configure script to work as # smoothly/robustly as possible. $(ibdir)/gcc: $(tdir)/gcc-$(gcc-version).tar.xz \ - $(ibdir)/ld + $(ibdir)/ls \ + $(ibdir)/sed \ + $(ilidir)/isl \ + $(ilidir)/mpc \ + $(ibdir)/gawk \ + $(ibdir)/grep \ + $(ibdir)/diff \ + $(ibdir)/find \ + $(ibdir)/bash \ + $(ibdir)/which # Un-pack all the necessary tools in the top building directory cd $(ddir); \ @@ -735,7 +734,7 @@ $(ibdir)/gcc: $(tdir)/gcc-$(gcc-version).tar.xz \ --with-gnu-ld \ --enable-lto \ --with-linker-hash-style=gnu \ - --enable-languages=c,c++ \ + --enable-languages=c,c++,fortran\ --disable-libada \ --disable-nls \ --enable-default-pie \ -- cgit v1.2.1