Fix build of gccgo-wrapper on Illumos.

When compiling GCC with NIX_ENFORCE_PURITY,
linking libgcc fails because crti.o and friends
aren't part of the nix store.
This commit is contained in:
Danny Wilson 2014-04-04 22:08:10 +02:00 committed by Danny Wilson
parent 450d6aff9c
commit 6a2b723a8b
3 changed files with 3 additions and 1 deletions

View File

@ -14,6 +14,8 @@ badPath() {
# the temporary build directory). # the temporary build directory).
if test "${p:0:1}" != "/"; then return 1; fi if test "${p:0:1}" != "/"; then return 1; fi
@extraPathTests@
# Otherwise, the path should refer to the store or some temporary # Otherwise, the path should refer to the store or some temporary
# directory (including the build directory). # directory (including the build directory).
test \ test \

View File

@ -294,7 +294,6 @@ stdenv.mkDerivation ({
++ (optional stdenv.isDarwin gnused) ++ (optional stdenv.isDarwin gnused)
; ;
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-lm -ldl";
preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) '' preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`

View File

@ -16,6 +16,7 @@
# outside of the store. Thus, GCC, GFortran, & co. must always look for # outside of the store. Thus, GCC, GFortran, & co. must always look for
# files in standard system directories (/usr/include, etc.) # files in standard system directories (/usr/include, etc.)
noSysDirs ? (system != "x86_64-freebsd" && system != "i686-freebsd" noSysDirs ? (system != "x86_64-freebsd" && system != "i686-freebsd"
&& system != "x86_64-solaris"
&& system != "x86_64-kfreebsd-gnu") && system != "x86_64-kfreebsd-gnu")
# More flags for the bootstrapping of stdenv. # More flags for the bootstrapping of stdenv.