diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2012-06-11 15:02:21 +0100 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2012-06-11 15:02:21 +0100 |
commit | 623ba35cd407a7c63a99ee8cad198370122d77ce (patch) | |
tree | 213325bf4e7b03ee49bf0289718140cfbbb18e58 | |
parent | 3401347e77f7fdfb4304002d2cf87efbdf955901 (diff) | |
download | gcc-tarball-baserock/bootstrap-pass1-2.tar.gz |
morphology: set --disable-shared and add libgcc_eh symlinkbaserock/bootstrap-pass1-2
--disable shared is needed to prevent gcc creating the libgcc_s.so
library, which makes the gcc runtime need to be installed on every
system. A slight bloating of executables is easier to deal with than
requiring a new gcc to be built for every system right now.
A symlink of libgcc_eh.a -> libgcc.a is needed for glibc's build system,
which passes -lgcc_eh as an option, even if it won't be needed, since
--disable-shared means libgcc_eh is subsumed into libgcc.
-rw-r--r-- | gcc-bootstrap-pass1-2.morph | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc-bootstrap-pass1-2.morph b/gcc-bootstrap-pass1-2.morph index 3cc3825007..f52ec3f1a4 100644 --- a/gcc-bootstrap-pass1-2.morph +++ b/gcc-bootstrap-pass1-2.morph @@ -5,14 +5,16 @@ "for file in $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h -o -name linux-eabi.h -o -name linux-elf.h); do sed -i -e \"s@/lib\\(64\\)\\?\\(32\\)\\?/ld@$PREFIX&@g\" -e \"s@/usr@$PREFIX@g\" \"$file\"; done", "case $(uname -m) in x86_64) for file in $(find gcc/config -name t-linux64); do sed -i '/MULTILIB_OSDIRNAMES/d' \"$file\"; done;; esac", "mkdir o", - "cd o && CC=\"$TOOLCHAIN_TARGET-gcc -B$PREFIX/lib/\" AR=\"$TOOLCHAIN_TARGET-ar\" RANLIB=\"$TOOLCHAIN_TARGET-ranlib\" ../configure --prefix=\"$PREFIX\" --with-local-prefix=\"$PREFIX\" --enable-clocale=gnu --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++ --disable-libstdcxx-pch --disable-multilib --disable-bootstrap --disable-libgomp --without-ppl --without-cloog --with-mpfr-include=$(pwd)/../mpfr/src --with-mpfr-lib=$(pwd)/mpfr/src/.libs" + "cd o && CC=\"$TOOLCHAIN_TARGET-gcc -B$PREFIX/lib/\" AR=\"$TOOLCHAIN_TARGET-ar\" RANLIB=\"$TOOLCHAIN_TARGET-ranlib\" ../configure --prefix=\"$PREFIX\" --with-local-prefix=\"$PREFIX\" --enable-clocale=gnu --disable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++ --disable-libstdcxx-pch --disable-multilib --disable-bootstrap --disable-libgomp --without-ppl --without-cloog --with-mpfr-include=$(pwd)/../mpfr/src --with-mpfr-lib=$(pwd)/mpfr/src/.libs" ], "build-commands": [ "cd o && make" ], "install-commands": [ "cd o && make DESTDIR=\"$DESTDIR\" install", - "ln -s gcc \"$DESTDIR/$PREFIX/bin/cc\"" + "ln -s gcc \"$DESTDIR/$PREFIX/bin/cc\"", + "for f in `find \"$DESTDIR\" -name libgcc.a`; do EH=\"`echo \"$f\" | sed 's/libgcc/&_eh/'`\" && if [ ! -e \"$EH\" ]; then ln -s libgcc.a \"$EH\"; fi; done" + ] } |