gcc_multi: disable the hook moving lib64 to lib

This was preventing wine from build, and we typically don't want it
anyway in multilib builds. /cc #8706.
This commit is contained in:
Vladimír Čunát 2015-07-20 13:42:30 +02:00
parent 855b3c48ab
commit 615f64dcbe
2 changed files with 12 additions and 7 deletions

View file

@ -7,7 +7,7 @@
{ name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
, cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
, zlib ? null, extraPackages ? []
, zlib ? null, extraPackages ? [], extraBuildCommands ? ""
, dyld ? null # TODO: should this be a setup-hook on dyld?
, isGNU ? false, isClang ? false
}:
@ -232,7 +232,8 @@ stdenv.mkDerivation {
substituteAll ${./add-flags} $out/nix-support/add-flags.sh
cp -p ${./utils.sh} $out/nix-support/utils.sh
'';
''
+ extraBuildCommands;
# The dynamic linker has different names on different Linux platforms.
dynamicLinker =

View file

@ -3687,8 +3687,12 @@ let
gcc_multi =
if system == "x86_64-linux" then lowPrio (
wrapCCWith (import ../build-support/cc-wrapper) glibc_multi (gcc.cc.override {
stdenv = overrideCC stdenv (wrapCCWith (import ../build-support/cc-wrapper) glibc_multi gcc.cc);
let
extraBuildCommands = ''
echo "dontMoveLib64=1" >> $out/nix-support/setup-hook
'';
in wrapCCWith (import ../build-support/cc-wrapper) glibc_multi extraBuildCommands (gcc.cc.override {
stdenv = overrideCC stdenv (wrapCCWith (import ../build-support/cc-wrapper) glibc_multi "" gcc.cc);
profiledCompiler = false;
enableMultilib = true;
}))
@ -4741,7 +4745,7 @@ let
win32hello = callPackage ../development/compilers/visual-c++/test { };
wrapCCWith = ccWrapper: libc: baseCC: ccWrapper {
wrapCCWith = ccWrapper: libc: extraBuildCommands: baseCC: ccWrapper {
nativeTools = stdenv.cc.nativeTools or false;
nativeLibc = stdenv.cc.nativeLibc or false;
nativePrefix = stdenv.cc.nativePrefix or "";
@ -4750,10 +4754,10 @@ let
dyld = if stdenv.isDarwin then darwin.dyld else null;
isGNU = baseCC.isGNU or false;
isClang = baseCC.isClang or false;
inherit stdenv binutils coreutils zlib;
inherit stdenv binutils coreutils zlib extraBuildCommands;
};
wrapCC = wrapCCWith (makeOverridable (import ../build-support/cc-wrapper)) stdenv.cc.libc;
wrapCC = wrapCCWith (makeOverridable (import ../build-support/cc-wrapper)) stdenv.cc.libc "";
# legacy version, used for gnat bootstrapping
wrapGCC-old = baseGCC: (makeOverridable (import ../build-support/gcc-wrapper-old)) {
nativeTools = stdenv.cc.nativeTools or false;