diff --git a/pkgs/gcc/gcc-build.sh b/pkgs/gcc/gcc-build.sh index 9e226aac025..f0300f833b9 100755 --- a/pkgs/gcc/gcc-build.sh +++ b/pkgs/gcc/gcc-build.sh @@ -1,10 +1,26 @@ #! /bin/sh . $stdenv/setup || exit 1 +export PATH=$binutils/bin:$PATH tar xvfj $src || exit 1 mkdir build || exit 1 cd build || exit 1 ../gcc-*/configure --prefix=$out --enable-languages=c,c++ || exit 1 + +extraflags="$NIX_CFLAGS $NIX_LDFLAGS -Wl,-s" + +mf=Makefile +sed \ + -e "s^FLAGS_FOR_TARGET =\(.*\)^FLAGS_FOR_TARGET = \1 $extraflags^" \ + < $mf > $mf.tmp || exit 1 +mv $mf.tmp $mf + +mf=gcc/Makefile +sed \ + -e "s^X_CFLAGS =\(.*\)^X_CFLAGS = \1 $extraflags^" \ + < $mf > $mf.tmp || exit 1 +mv $mf.tmp $mf + make bootstrap || exit 1 make install || exit 1 diff --git a/pkgs/gcc/gcc.fix b/pkgs/gcc/gcc.fix index faa3d88279a..57df705dd0c 100644 --- a/pkgs/gcc/gcc.fix +++ b/pkgs/gcc/gcc.fix @@ -9,5 +9,6 @@ Package( ])) , ("stdenv", IncludeFix("stdenv-linux/stdenv-nativetools.fix")) + , ("binutils", IncludeFix("binutils/binutils.fix")) ] )