diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2013-03-14 16:40:56 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2013-03-15 13:02:51 +0000 |
commit | d093d5bd6133d2320f52a6b0a32c2113f393adfc (patch) | |
tree | a41bf40859a39d8a1f7b506ce34a6dae93ffed84 | |
parent | fbecf9d3bfd7e961e39c3bf2cc068572a5c379a3 (diff) | |
download | gcc-tarball-d093d5bd6133d2320f52a6b0a32c2113f393adfc.tar.gz |
Final cleanups and corrections
-rw-r--r-- | gcc.morph | 2 | ||||
-rw-r--r-- | gcc.morph.yaml | 13 | ||||
-rw-r--r-- | stage1-gcc.morph | 2 | ||||
-rw-r--r-- | stage1-gcc.morph.yaml | 32 | ||||
-rw-r--r-- | stage2-gcc.morph | 2 | ||||
-rw-r--r-- | stage2-gcc.morph.yaml | 32 |
6 files changed, 46 insertions, 37 deletions
@@ -3,7 +3,7 @@ "kind": "chunk", "configure-commands": [ "mkdir o", - "cd o && \\\n../configure --prefix=\"$PREFIX\" --disable-nls $(morph-arch-config) \\\n `# [1]` --libdir=$PREFIX/lib \\\n `# [2]` --disable-multilib \\\n `# [3]` --disable-libgomp --without-cloog --without-ppl \\\n `# [4]` --enable-__cxa_atexit \\\n `# [5]` --with-mpfr-include=\"$(pwd)/../mpfr/src\" \\\n --with-mpfr-lib=\"$(pwd)/mpfr/src/.libs\" \\\n `# [6]` --with-system-zlib \\\n --enable-languages=c,c++ --enable-shared --enable-threads=posix\n" + "cd o && \\\n../configure \\\n $(morph-arch-config) \\\n --prefix=\"$PREFIX\" \\\n `# [1]` --libdir=$PREFIX/lib \\\n --disable-nls \\\n --enable-languages=c,c++ --enable-shared --enable-threads=posix \\\n `# [2]` --disable-multilib \\\n `# [3]` --disable-libgomp --without-cloog --without-ppl \\\n `# [4]` --enable-__cxa_atexit \\\n `# [5]` --with-mpfr-include=\"$(pwd)/../mpfr/src\" \\\n --with-mpfr-lib=\"$(pwd)/mpfr/src/.libs\" \\\n `# [6]` --with-system-zlib\n" ], "build-commands": [ "cd o && make" diff --git a/gcc.morph.yaml b/gcc.morph.yaml index 893ddbbe5e..fb5a293c72 100644 --- a/gcc.morph.yaml +++ b/gcc.morph.yaml @@ -5,7 +5,9 @@ configure-commands: - mkdir o # Configure flag notes: - # 1. An attempt to stop anything going in $PREFIX/lib64. + # 1. An attempt to stop anything going in $PREFIX/lib64 (which doesn't + # fully work; we will need to hobble the multilib configuration in + # config/i386/t-linux64 if we really want to kill /lib64). # 2. Multilib does not make sense in Baserock. # 3. Optimisation libraries which for now we do without. # 4. Recommended by Linux From Scratch; required for C++ ABI @@ -14,15 +16,18 @@ configure-commands: # 6. Avoid having more than one copy of ZLib in use on the system - | cd o && \ - ../configure --prefix="$PREFIX" --disable-nls $(morph-arch-config) \ + ../configure \ + $(morph-arch-config) \ + --prefix="$PREFIX" \ `# [1]` --libdir=$PREFIX/lib \ + --disable-nls \ + --enable-languages=c,c++ --enable-shared --enable-threads=posix \ `# [2]` --disable-multilib \ `# [3]` --disable-libgomp --without-cloog --without-ppl \ `# [4]` --enable-__cxa_atexit \ `# [5]` --with-mpfr-include="$(pwd)/../mpfr/src" \ --with-mpfr-lib="$(pwd)/mpfr/src/.libs" \ - `# [6]` --with-system-zlib \ - --enable-languages=c,c++ --enable-shared --enable-threads=posix + `# [6]` --with-system-zlib build-commands: - cd o && make diff --git a/stage1-gcc.morph b/stage1-gcc.morph index 422975a03a..bd353b1a80 100644 --- a/stage1-gcc.morph +++ b/stage1-gcc.morph @@ -3,7 +3,7 @@ "kind": "chunk", "configure-commands": [ "mkdir o", - "cd o &&\n../configure --prefix=\"$PREFIX\" --disable-nls \\\n --build=$(sh ../config.guess) --host=$(sh ../config.guess) \\\n --target=$TARGET_STAGE1 $(morph-arch-config) \\\n --disable-bootstrap \\\n `# [1]` --with-local-prefix=\"$PREFIX\" \\\n `# [2]` --with-native-system-header-dir=\"$PREFIX/include\" \\\n `# [3]` --enable-languages=c --disable-decimal-float \\\n --disable-libmudflap --disable-libquadmath --disable-libssp \\\n --disable-shared --disable-threads --disable-target-libiberty \\\n --disable-target-zlib --without-headers --with-newlib \\\n --with-system-zlib \\\n `# [4]` --libdir=\"$PREFIX/lib\" --disable-multilib --disable-libgomp \\\n --without-cloog --without-ppl \\\n --with-mpfr-include=\"$(pwd)/../mpfr/src\" \\\n --with-mpfr-lib=\"$(pwd)/mpfr/src/.libs\"\n" + "cd o &&\n../configure \\\n $(morph-arch-config) \\\n --build=$(sh ../config.guess) --host=$(sh ../config.guess) \\\n --target=$TARGET_STAGE1 \\\n --prefix=\"$PREFIX\" \\\n --disable-bootstrap --disable-nls \\\n `# [1]` --libdir=\"$PREFIX/lib\" --disable-multilib --disable-libgomp \\\n --without-cloog --without-ppl \\\n --with-mpfr-include=\"$(pwd)/../mpfr/src\" \\\n --with-mpfr-lib=\"$(pwd)/mpfr/src/.libs\" \\\n `# [2]` --with-local-prefix=\"$PREFIX\" \\\n `# [3]` --with-native-system-header-dir=\"$PREFIX/include\" \\\n `# [4]` --enable-languages=c --disable-decimal-float \\\n --disable-libmudflap --disable-libquadmath --disable-libssp \\\n --disable-shared --disable-threads --disable-target-libiberty \\\n --disable-target-zlib --without-headers --with-newlib \\\n --with-system-zlib\n" ], "build-commands": [ "cd o && make" diff --git a/stage1-gcc.morph.yaml b/stage1-gcc.morph.yaml index 3ac48bfa49..d641962cd6 100644 --- a/stage1-gcc.morph.yaml +++ b/stage1-gcc.morph.yaml @@ -5,32 +5,34 @@ configure-commands: - mkdir o # Configure flag notes: - # 1. Disable searching /usr/local/include for headers - # 2. The pass 1 compiler needs to find the libraries we build in pass 2. + # 1. Standard flags. See gcc.morph. + # 2. Disable searching /usr/local/include for headers + # 3. The pass 1 compiler needs to find the libraries we build in pass 2. # Include path must be set explicility, because it defaults to # $SYSROOT/usr/include rather than $SYSROOT/include. # FIXME: this flag is not present until GCC 4.6.3! - # 3. Disable stuff that doesn't work when building a cross compiler + # 4. Disable stuff that doesn't work when building a cross compiler # without an existing libc, and generally try to keep this build as # simple as possible. - # 4. Standard flags. See gcc.morph. - | cd o && - ../configure --prefix="$PREFIX" --disable-nls \ + ../configure \ + $(morph-arch-config) \ --build=$(sh ../config.guess) --host=$(sh ../config.guess) \ - --target=$TARGET_STAGE1 $(morph-arch-config) \ - --disable-bootstrap \ - `# [1]` --with-local-prefix="$PREFIX" \ - `# [2]` --with-native-system-header-dir="$PREFIX/include" \ - `# [3]` --enable-languages=c --disable-decimal-float \ + --target=$TARGET_STAGE1 \ + --prefix="$PREFIX" \ + --disable-bootstrap --disable-nls \ + `# [1]` --libdir="$PREFIX/lib" --disable-multilib --disable-libgomp \ + --without-cloog --without-ppl \ + --with-mpfr-include="$(pwd)/../mpfr/src" \ + --with-mpfr-lib="$(pwd)/mpfr/src/.libs" \ + `# [2]` --with-local-prefix="$PREFIX" \ + `# [3]` --with-native-system-header-dir="$PREFIX/include" \ + `# [4]` --enable-languages=c --disable-decimal-float \ --disable-libmudflap --disable-libquadmath --disable-libssp \ --disable-shared --disable-threads --disable-target-libiberty \ --disable-target-zlib --without-headers --with-newlib \ - --with-system-zlib \ - `# [4]` --libdir="$PREFIX/lib" --disable-multilib --disable-libgomp \ - --without-cloog --without-ppl \ - --with-mpfr-include="$(pwd)/../mpfr/src" \ - --with-mpfr-lib="$(pwd)/mpfr/src/.libs" + --with-system-zlib build-commands: - cd o && make diff --git a/stage2-gcc.morph b/stage2-gcc.morph index 056a352596..59d20a3838 100644 --- a/stage2-gcc.morph +++ b/stage2-gcc.morph @@ -5,7 +5,7 @@ "stage2-eglibc-fix-specs", "cat \"gcc/limitx.h\" \"gcc/glimits.h\" \"gcc/limity.h\" > limits.h.tmp\nlibgcc_dir=$(dirname $($TARGET_STAGE1-gcc -print-libgcc-file-name))\ncp limits.h.tmp \"$libgcc_dir/include-fixed/limits.h\"\n", "mkdir o", - "export STAGE2_SYSROOT=\"$(dirname $(pwd))\"\nexport CC=\"$TARGET_STAGE1-gcc --sysroot=$STAGE2_SYSROOT\"\nexport LDFLAGS=\"-Wl,--sysroot=$STAGE2_SYSROOT\"\ncd o && ../configure --prefix=\"$PREFIX\" --disable-nls \\\n --disable-bootstrap \\\n `# [1]` --build=$(sh ../config.guess) --host=$TARGET_STAGE1 \\\n --target=$TARGET_STAGE1 $(morph-arch-config) \\\n `# [2]` --enable-languages=c \\\n `# [3]` --with-local-prefix=$PREFIX \\\n `# [4]` --with-build-sysroot=\"$STAGE2_SYSROOT\" \\\n `# [5]` --libdir=$PREFIX/lib --disable-multilib --disable-libgomp \\\n --without-cloog --without-ppl \\\n --with-mpfr-include=\"$(pwd)/../mpfr/src\" \\\n --with-mpfr-lib=\"$(pwd)/mpfr/src/.libs\" \\\n --with-system-zlib \\\n --enable-clocale=gnu --enable-shared --enable-threads=posix\n" + "export STAGE2_SYSROOT=\"$(dirname $(pwd))\"\nexport CC=\"$TARGET_STAGE1-gcc --sysroot=$STAGE2_SYSROOT\"\nexport LDFLAGS=\"-Wl,--sysroot=$STAGE2_SYSROOT\"\ncd o && ../configure \\\n $(morph-arch-config) \\\n `# [1]` --build=$(sh ../config.guess) \\\n --host=$TARGET_STAGE1 \\\n --target=$TARGET_STAGE1 \\\n --prefix=\"$PREFIX\" \\\n `# [2]` --with-local-prefix=$PREFIX \\\n `# [3]` --with-build-sysroot=\"$STAGE2_SYSROOT\" \\\n --disable-bootstrap \\\n --enable-clocale=gnu --enable-shared --enable-threads=posix \\\n `# [4]` --enable-languages=c \\\n `# [5]` --libdir=$PREFIX/lib \\\n --disable-libgomp --disable-multilib --disable-nls \\\n --without-cloog --without-ppl \\\n --with-mpfr-include=\"$(pwd)/../mpfr/src\" \\\n --with-mpfr-lib=\"$(pwd)/mpfr/src/.libs\" \\\n --with-system-zlib\n" ], "build-commands": [ "export STAGE2_SYSROOT=\"$(dirname $(pwd))\"\ncd o && make\n" diff --git a/stage2-gcc.morph.yaml b/stage2-gcc.morph.yaml index 2a293afbcb..7514beb40e 100644 --- a/stage2-gcc.morph.yaml +++ b/stage2-gcc.morph.yaml @@ -31,30 +31,32 @@ configure-commands: # 1. It's vital that this compiler targets the bootstrap machine # (TARGET_STAGE1) so that the stage 1 GCC is used instead of the # compiler of the build machine. - # 2. C++ is built in stage 3. - # 3. Disable searching /usr/local/include for headers - # 4. This flag should theoretically remove the need for us to specify - # CC_FOR_TARGET. However, currently we have to pass -B and --sysroot - # due the linker requiring the sysroot not to include PREFIX and the - # preprocessor / compiler requiring that it does. + # 2. Disable searching /usr/local/include for headers + # 3. This flag causes the correct --sysroot flag to be passed when calling + # stage 1 GCC. + # 4. C++ is built in stage 3. # 5. Standard flags. See gcc.morph. - | export STAGE2_SYSROOT="$(dirname $(pwd))" export CC="$TARGET_STAGE1-gcc --sysroot=$STAGE2_SYSROOT" export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT" - cd o && ../configure --prefix="$PREFIX" --disable-nls \ + cd o && ../configure \ + $(morph-arch-config) \ + `# [1]` --build=$(sh ../config.guess) \ + --host=$TARGET_STAGE1 \ + --target=$TARGET_STAGE1 \ + --prefix="$PREFIX" \ + `# [2]` --with-local-prefix=$PREFIX \ + `# [3]` --with-build-sysroot="$STAGE2_SYSROOT" \ --disable-bootstrap \ - `# [1]` --build=$(sh ../config.guess) --host=$TARGET_STAGE1 \ - --target=$TARGET_STAGE1 $(morph-arch-config) \ - `# [2]` --enable-languages=c \ - `# [3]` --with-local-prefix=$PREFIX \ - `# [4]` --with-build-sysroot="$STAGE2_SYSROOT" \ - `# [5]` --libdir=$PREFIX/lib --disable-multilib --disable-libgomp \ + --enable-clocale=gnu --enable-shared --enable-threads=posix \ + `# [4]` --enable-languages=c \ + `# [5]` --libdir=$PREFIX/lib \ + --disable-libgomp --disable-multilib --disable-nls \ --without-cloog --without-ppl \ --with-mpfr-include="$(pwd)/../mpfr/src" \ --with-mpfr-lib="$(pwd)/mpfr/src/.libs" \ - --with-system-zlib \ - --enable-clocale=gnu --enable-shared --enable-threads=posix + --with-system-zlib build-commands: - | |