diff --git a/pkgs/development/compilers/gcc-4.1/builder.sh b/pkgs/development/compilers/gcc-4.1/builder.sh index 5ba0dcfdbbd9..c4bf20862806 100644 --- a/pkgs/development/compilers/gcc-4.1/builder.sh +++ b/pkgs/development/compilers/gcc-4.1/builder.sh @@ -10,17 +10,26 @@ mkdir $NIX_FIXINC_DUMMY export CPP="gcc -E" -if test "$noSysDirs" = "1" -a -e $NIX_GCC/nix-support/orig-libc; then +if test "$noSysDirs" = "1"; then - # Figure out what extra flags to pass to the gcc compilers being - # generated to make sure that they use our glibc. - extraCFlags="$(cat $NIX_GCC/nix-support/libc-cflags)" - extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)" + if test -e $NIX_GCC/nix-support/orig-libc; then - # Use *real* header files, otherwise a limits.h is generated that - # does not include Glibc's limits.h (notably missing SSIZE_MAX, - # which breaks the build). - export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include + # Figure out what extra flags to pass to the gcc compilers + # being generated to make sure that they use our glibc. + extraCFlags="$(cat $NIX_GCC/nix-support/libc-cflags)" + extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)" + + # Use *real* header files, otherwise a limits.h is generated + # that does not include Glibc's limits.h (notably missing + # SSIZE_MAX, which breaks the build). + export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include + + else + # Hack: support impure environments. + extraCFlags="-isystem /usr/include" + extraLDFlags="-L/usr/lib64 -L/usr/lib" + export NIX_FIXINC_DUMMY=/usr/include + fi export NIX_EXTRA_CFLAGS=$extraCFlags for i in $extraLDFlags; do @@ -28,7 +37,6 @@ if test "$noSysDirs" = "1" -a -e $NIX_GCC/nix-support/orig-libc; then done export CFLAGS=$extraCFlags export CXXFLAGS=$extraCFlags -# export LDFLAGS=$extraLDFlags fi