summaryrefslogtreecommitdiff
path: root/strata/build-essential.morph
diff options
context:
space:
mode:
authorTiago Gomes <tiago.gomes@codethink.co.uk>2015-01-12 15:13:53 +0000
committerTiago Gomes <tiago.gomes@codethink.co.uk>2015-01-23 15:19:29 +0000
commitfe5e9e45bb56bccb6c6ad755b21074ce4df26a02 (patch)
tree487090b1a60e693affaab57fe0e3eea53909481e /strata/build-essential.morph
parentd022ac34d44616e7c7479a0aa1e81287786f3299 (diff)
downloaddefinitions-fe5e9e45bb56bccb6c6ad755b21074ce4df26a02.tar.gz
Update GCC to 4.9.2
Update the GCC compiler to the 4.9.2 version. It turns out that a C++ compiler is required to build the latest GCC releases, so build one in stages 1 and 2 as well. The updated list of GCC configuration options that either don't work in a cross compiler or are not needed in a temporary compiler, were based on the latest instructions from Linux From Scratch. The inclusion of /lib64 in the lib path for the stage 1 linker is an attempt to turn things more robust rather than to just symlink in /lib stuff that ends up installed in /lib64 (as it is already being done for libgcc_s.so). Ideally, we should configure every chunk to install to /lib, however GCC seems to not honour the `--with-libdir` configuration flag. With this version of GCC, it looks like a sysroot needs to be given at configure time so that `--with-native-system-header-dir` does what it claims to do. Unfortunately, this has the side effect of making GCC not passing to the linker the linker sysroot flag: `-Wl,--sysroot=$SYSROOT`. The workaround is to modify LDFLAGS to give a sysroot directly to GCC, `--sysroot=$SYSROOT`, which will then be further passed down to the linker. As the newest version of GCC finds more warnings than the previous one, `-Werror` was disabled for the coreutils, GDB and Syslinux projects. Syslinux's Makefile had to be patched, as it is not possible to disable `-Werror` for all targets through the NO_WERROR variable. The hack to handle libgcc_eh being required during eglibc's build was removed, as it doesn't seem to be the case anymore.
Diffstat (limited to 'strata/build-essential.morph')
-rw-r--r--strata/build-essential.morph29
1 files changed, 21 insertions, 8 deletions
diff --git a/strata/build-essential.morph b/strata/build-essential.morph
index 02b2043a..59f2b532 100644
--- a/strata/build-essential.morph
+++ b/strata/build-essential.morph
@@ -50,8 +50,8 @@ chunks:
- name: stage1-gcc
morph: strata/build-essential/stage1-gcc.morph
repo: upstream:gcc-tarball
- ref: 999c918a7ad32ad436395666def22ab90b3447fe
- unpetrify-ref: baserock/build-essential
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/tiagogomes/update-toolchain
build-depends:
- stage1-binutils
build-mode: bootstrap
@@ -80,6 +80,18 @@ chunks:
build-mode: bootstrap
prefix: /tools
+- name: stage2-libstdc++
+ morph: strata/build-essential/stage2-libstdc++.morph
+ repo: upstream:gcc-tarball
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/tiagogomes/update-toolchain
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ - stage2-glibc
+ build-mode: bootstrap
+ prefix: /tools
+
- name: stage2-binutils
morph: strata/build-essential/stage2-binutils.morph
repo: upstream:binutils-redhat
@@ -95,8 +107,8 @@ chunks:
- name: stage2-gcc-fixed-headers
morph: strata/build-essential/stage2-gcc-fixed-headers.morph
repo: upstream:gcc-tarball
- ref: 999c918a7ad32ad436395666def22ab90b3447fe
- unpetrify-ref: baserock/build-essential
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/tiagogomes/update-toolchain
build-depends:
- stage1-binutils
- stage1-gcc
@@ -107,13 +119,14 @@ chunks:
- name: stage2-gcc
morph: strata/build-essential/stage2-gcc.morph
repo: upstream:gcc-tarball
- ref: 999c918a7ad32ad436395666def22ab90b3447fe
- unpetrify-ref: baserock/build-essential
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/tiagogomes/update-toolchain
build-depends:
- stage1-binutils
- stage1-gcc
- stage2-glibc
- stage2-gcc-fixed-headers
+ - stage2-libstdc++
build-mode: bootstrap
prefix: /tools
@@ -327,8 +340,8 @@ chunks:
- name: gcc
morph: strata/build-essential/gcc.morph
repo: upstream:gcc-tarball
- ref: 5c08cea34d5562dc828b85c7c02519246823aaf0
- unpetrify-ref: baserock/build-essential-4.7
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/tiagogomes/update-toolchain
build-depends:
- stage2-binutils
- stage2-busybox