Index: build/install-build-deps.sh |
=================================================================== |
--- build/install-build-deps.sh (revision 92189) |
+++ build/install-build-deps.sh (working copy) |
@@ -60,19 +60,16 @@ |
tar -xjvf $BINUTILS.tar.bz2 |
cd $BINUTILS |
./configure --prefix=/usr/local/gold --enable-gold --enable-threads |
- make maybe-all-binutils maybe-all-gold -j4 |
+ NCPU=`cat /proc/cpuinfo |grep ^processor|wc -l` |
+ make maybe-all-binutils maybe-all-gold -j${NCPU} |
if sudo make maybe-install-binutils maybe-install-gold |
then |
# Still need to figure out graceful way of pointing gyp to use |
# /usr/local/gold/bin/ld without requiring him to set environment |
# variables. That will go into bootstrap-linux.sh when it's ready. |
Evan Martin
2011/07/13 20:37:38
FWIW, there is no bootstrap-linux.sh.
|
- echo "Installing gold as /usr/bin/ld." |
- echo "To uninstall, do 'cd /usr/bin; sudo rm ld; sudo mv ld.orig ld'" |
- test -f /usr/bin/ld && test ! -f /usr/bin/ld.orig && \ |
- sudo mv /usr/bin/ld /usr/bin/ld.orig |
+ test -f /usr/local/gold/bin/ld && test -f /usr/local/gold/bin/ld.gold && \ |
+ sudo mv /usr/local/gold/bin/ld.gold /usr/local/gold/bin/ld |
sudo strip /usr/local/gold/bin/ld |
- sudo ln -fs /usr/local/gold/bin/ld /usr/bin/ld.gold |
- sudo ln -fs /usr/bin/ld.gold /usr/bin/ld |
else |
echo "make install failed, not installing gold" |
fi |
@@ -249,13 +246,26 @@ |
# So install from source if we don't have a good version. |
case `ld --version` in |
+*gold*2.2[1-9].*) |
+ echo "*** Warning ***" |
+ echo "If the default linker is gold, linking may fail for:" |
+ echo "the Linux kernel, kernel modules, Valgrind, and Wine." |
+ echo "If you previously installed gold as the default linker," |
+ echo "you can restore the original linker by running:" |
+ echo "'cd /usr/bin; sudo rm ld; sudo mv ld.orig ld'" |
+ echo |
+ ;; |
+esac |
+ |
+case `/usr/local/gold/bin/ld --version` in |
*gold*2.2[1-9].*) ;; |
* ) |
if test "$do_inst_gold" = "" |
then |
- echo "Gold is a new linker that links Chrome 5x faster than ld." |
- echo "Don't use it if you need to link other apps (e.g. valgrind, wine)" |
- echo -n "REPLACE SYSTEM LINKER ld with gold and back up ld? (y/N) " |
+ echo "Gold is a new linker that links Chrome 5x faster than GNU ld." |
+ echo -n "*** To use the gold linker, " |
+ echo "you must pass -B/usr/local/gold/bin/ to g++ ***" |
+ echo -n "Install the gold linker? (y/N) " |
if yes_no 1; then |
do_inst_gold=1 |
fi |
@@ -267,8 +277,7 @@ |
echo "Installing binutils-gold. Backing up ld as ld.single." |
sudo apt-get install binutils-gold |
else |
- # FIXME: avoid installing as /usr/bin/ld |
- echo "Building binutils. Backing up ld as ld.orig." |
+ echo "Building binutils with gold..." |
install_gold || exit 99 |
fi |
else |