summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@codethink.co.uk>2012-06-11 15:02:21 +0100
committerRichard Maw <richard.maw@codethink.co.uk>2012-06-11 15:02:21 +0100
commit623ba35cd407a7c63a99ee8cad198370122d77ce (patch)
tree213325bf4e7b03ee49bf0289718140cfbbb18e58
parent3401347e77f7fdfb4304002d2cf87efbdf955901 (diff)
downloadgcc-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.morph6
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"
+
]
}