Rewrite a few stdenv.cross
uses that *should* be targetPlatform
The previous commit redefines `stdenv.cross` for the sake of normal libaries, the most common use-case of that attribute. Some compilers however relied on the old definition so we have them use `targetPlatform` instead. This special casing is fine because we eventually want to remove `stdenv.cross` and use either `hostPlatform` or `targetPlatform` instead.
This commit is contained in:
parent
a7d89139ea
commit
a7068ace35
@ -26,6 +26,7 @@
|
|||||||
, gnat ? null
|
, gnat ? null
|
||||||
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
|
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
|
||||||
, stripped ? true
|
, stripped ? true
|
||||||
|
, buildPlatform, hostPlatform, targetPlatform
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert langJava -> zip != null && unzip != null
|
assert langJava -> zip != null && unzip != null
|
||||||
@ -271,15 +272,15 @@ stdenv.mkDerivation ({
|
|||||||
targetConfig = if cross != null then cross.config else null;
|
targetConfig = if cross != null then cross.config else null;
|
||||||
|
|
||||||
crossAttrs = {
|
crossAttrs = {
|
||||||
AR = "${stdenv.cross.config}-ar";
|
AR = "${targetPlatform.config}-ar";
|
||||||
LD = "${stdenv.cross.config}-ld";
|
LD = "${targetPlatform.config}-ld";
|
||||||
CC = "${stdenv.cross.config}-gcc";
|
CC = "${targetPlatform.config}-gcc";
|
||||||
CXX = "${stdenv.cross.config}-gcc";
|
CXX = "${targetPlatform.config}-gcc";
|
||||||
AR_FOR_TARGET = "${stdenv.cross.config}-ar";
|
AR_FOR_TARGET = "${targetPlatform.config}-ar";
|
||||||
LD_FOR_TARGET = "${stdenv.cross.config}-ld";
|
LD_FOR_TARGET = "${targetPlatform.config}-ld";
|
||||||
CC_FOR_TARGET = "${stdenv.cross.config}-gcc";
|
CC_FOR_TARGET = "${targetPlatform.config}-gcc";
|
||||||
NM_FOR_TARGET = "${stdenv.cross.config}-nm";
|
NM_FOR_TARGET = "${targetPlatform.config}-nm";
|
||||||
CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
|
CXX_FOR_TARGET = "${targetPlatform.config}-g++";
|
||||||
# If we are making a cross compiler, cross != null
|
# If we are making a cross compiler, cross != null
|
||||||
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
@ -311,7 +312,7 @@ stdenv.mkDerivation ({
|
|||||||
${if langAda then " --enable-libada" else ""}
|
${if langAda then " --enable-libada" else ""}
|
||||||
${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
|
${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
|
||||||
${if cross != null then crossConfigureFlags else ""}
|
${if cross != null then crossConfigureFlags else ""}
|
||||||
--target=${stdenv.cross.config}
|
--target=${targetPlatform.config}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
, stripped ? true
|
, stripped ? true
|
||||||
, gnused ? null
|
, gnused ? null
|
||||||
, darwin ? null
|
, darwin ? null
|
||||||
|
, buildPlatform, hostPlatform, targetPlatform
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert langJava -> zip != null && unzip != null
|
assert langJava -> zip != null && unzip != null
|
||||||
@ -123,12 +124,12 @@ let version = "4.8.5";
|
|||||||
crossMingw = cross != null && cross.libc == "msvcrt";
|
crossMingw = cross != null && cross.libc == "msvcrt";
|
||||||
crossDarwin = cross != null && cross.libc == "libSystem";
|
crossDarwin = cross != null && cross.libc == "libSystem";
|
||||||
crossConfigureFlags = let
|
crossConfigureFlags = let
|
||||||
gccArch = stdenv.cross.gcc.arch or null;
|
gccArch = targetPlatform.gcc.arch or null;
|
||||||
gccCpu = stdenv.cross.gcc.cpu or null;
|
gccCpu = targetPlatform.gcc.cpu or null;
|
||||||
gccAbi = stdenv.cross.gcc.abi or null;
|
gccAbi = targetPlatform.gcc.abi or null;
|
||||||
gccFpu = stdenv.cross.gcc.fpu or null;
|
gccFpu = targetPlatform.gcc.fpu or null;
|
||||||
gccFloat = stdenv.cross.gcc.float or null;
|
gccFloat = targetPlatform.gcc.float or null;
|
||||||
gccMode = stdenv.cross.gcc.mode or null;
|
gccMode = targetPlatform.gcc.mode or null;
|
||||||
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
|
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
|
||||||
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
|
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
|
||||||
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
|
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
|
||||||
@ -382,26 +383,26 @@ stdenv.mkDerivation ({
|
|||||||
else "install";
|
else "install";
|
||||||
|
|
||||||
crossAttrs = let
|
crossAttrs = let
|
||||||
xgccArch = stdenv.cross.gcc.arch or null;
|
xgccArch = targetPlatform.gcc.arch or null;
|
||||||
xgccCpu = stdenv.cross.gcc.cpu or null;
|
xgccCpu = targetPlatform.gcc.cpu or null;
|
||||||
xgccAbi = stdenv.cross.gcc.abi or null;
|
xgccAbi = targetPlatform.gcc.abi or null;
|
||||||
xgccFpu = stdenv.cross.gcc.fpu or null;
|
xgccFpu = targetPlatform.gcc.fpu or null;
|
||||||
xgccFloat = stdenv.cross.gcc.float or null;
|
xgccFloat = targetPlatform.gcc.float or null;
|
||||||
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
|
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
|
||||||
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
|
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
|
||||||
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
|
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
|
||||||
xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
|
xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
|
||||||
xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
|
xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
|
||||||
in {
|
in {
|
||||||
AR = "${stdenv.cross.config}-ar";
|
AR = "${targetPlatform.config}-ar";
|
||||||
LD = "${stdenv.cross.config}-ld";
|
LD = "${targetPlatform.config}-ld";
|
||||||
CC = "${stdenv.cross.config}-gcc";
|
CC = "${targetPlatform.config}-gcc";
|
||||||
CXX = "${stdenv.cross.config}-gcc";
|
CXX = "${targetPlatform.config}-gcc";
|
||||||
AR_FOR_TARGET = "${stdenv.cross.config}-ar";
|
AR_FOR_TARGET = "${targetPlatform.config}-ar";
|
||||||
LD_FOR_TARGET = "${stdenv.cross.config}-ld";
|
LD_FOR_TARGET = "${targetPlatform.config}-ld";
|
||||||
CC_FOR_TARGET = "${stdenv.cross.config}-gcc";
|
CC_FOR_TARGET = "${targetPlatform.config}-gcc";
|
||||||
NM_FOR_TARGET = "${stdenv.cross.config}-nm";
|
NM_FOR_TARGET = "${targetPlatform.config}-nm";
|
||||||
CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
|
CXX_FOR_TARGET = "${targetPlatform.config}-g++";
|
||||||
# If we are making a cross compiler, cross != null
|
# If we are making a cross compiler, cross != null
|
||||||
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
@ -431,7 +432,7 @@ stdenv.mkDerivation ({
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
${if langAda then " --enable-libada" else ""}
|
${if langAda then " --enable-libada" else ""}
|
||||||
--target=${stdenv.cross.config}
|
--target=${targetPlatform.config}
|
||||||
${xwithArch}
|
${xwithArch}
|
||||||
${xwithCpu}
|
${xwithCpu}
|
||||||
${xwithAbi}
|
${xwithAbi}
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
, stripped ? true
|
, stripped ? true
|
||||||
, gnused ? null
|
, gnused ? null
|
||||||
, darwin ? null
|
, darwin ? null
|
||||||
|
, buildPlatform, hostPlatform, targetPlatform
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert langJava -> zip != null && unzip != null
|
assert langJava -> zip != null && unzip != null
|
||||||
@ -125,12 +126,12 @@ let version = "4.9.4";
|
|||||||
crossMingw = cross != null && cross.libc == "msvcrt";
|
crossMingw = cross != null && cross.libc == "msvcrt";
|
||||||
crossDarwin = cross != null && cross.libc == "libSystem";
|
crossDarwin = cross != null && cross.libc == "libSystem";
|
||||||
crossConfigureFlags = let
|
crossConfigureFlags = let
|
||||||
gccArch = stdenv.cross.gcc.arch or null;
|
gccArch = targetPlatform.gcc.arch or null;
|
||||||
gccCpu = stdenv.cross.gcc.cpu or null;
|
gccCpu = targetPlatform.gcc.cpu or null;
|
||||||
gccAbi = stdenv.cross.gcc.abi or null;
|
gccAbi = targetPlatform.gcc.abi or null;
|
||||||
gccFpu = stdenv.cross.gcc.fpu or null;
|
gccFpu = targetPlatform.gcc.fpu or null;
|
||||||
gccFloat = stdenv.cross.gcc.float or null;
|
gccFloat = targetPlatform.gcc.float or null;
|
||||||
gccMode = stdenv.cross.gcc.mode or null;
|
gccMode = targetPlatform.gcc.mode or null;
|
||||||
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
|
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
|
||||||
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
|
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
|
||||||
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
|
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
|
||||||
@ -389,26 +390,26 @@ stdenv.mkDerivation ({
|
|||||||
else "install";
|
else "install";
|
||||||
|
|
||||||
crossAttrs = let
|
crossAttrs = let
|
||||||
xgccArch = stdenv.cross.gcc.arch or null;
|
xgccArch = targetPlatform.gcc.arch or null;
|
||||||
xgccCpu = stdenv.cross.gcc.cpu or null;
|
xgccCpu = targetPlatform.gcc.cpu or null;
|
||||||
xgccAbi = stdenv.cross.gcc.abi or null;
|
xgccAbi = targetPlatform.gcc.abi or null;
|
||||||
xgccFpu = stdenv.cross.gcc.fpu or null;
|
xgccFpu = targetPlatform.gcc.fpu or null;
|
||||||
xgccFloat = stdenv.cross.gcc.float or null;
|
xgccFloat = targetPlatform.gcc.float or null;
|
||||||
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
|
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
|
||||||
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
|
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
|
||||||
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
|
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
|
||||||
xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
|
xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
|
||||||
xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
|
xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
|
||||||
in {
|
in {
|
||||||
AR = "${stdenv.cross.config}-ar";
|
AR = "${targetPlatform.config}-ar";
|
||||||
LD = "${stdenv.cross.config}-ld";
|
LD = "${targetPlatform.config}-ld";
|
||||||
CC = "${stdenv.cross.config}-gcc";
|
CC = "${targetPlatform.config}-gcc";
|
||||||
CXX = "${stdenv.cross.config}-gcc";
|
CXX = "${targetPlatform.config}-gcc";
|
||||||
AR_FOR_TARGET = "${stdenv.cross.config}-ar";
|
AR_FOR_TARGET = "${targetPlatform.config}-ar";
|
||||||
LD_FOR_TARGET = "${stdenv.cross.config}-ld";
|
LD_FOR_TARGET = "${targetPlatform.config}-ld";
|
||||||
CC_FOR_TARGET = "${stdenv.cross.config}-gcc";
|
CC_FOR_TARGET = "${targetPlatform.config}-gcc";
|
||||||
NM_FOR_TARGET = "${stdenv.cross.config}-nm";
|
NM_FOR_TARGET = "${targetPlatform.config}-nm";
|
||||||
CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
|
CXX_FOR_TARGET = "${targetPlatform.config}-g++";
|
||||||
# If we are making a cross compiler, cross != null
|
# If we are making a cross compiler, cross != null
|
||||||
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
@ -438,7 +439,7 @@ stdenv.mkDerivation ({
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
${if langAda then " --enable-libada" else ""}
|
${if langAda then " --enable-libada" else ""}
|
||||||
--target=${stdenv.cross.config}
|
--target=${targetPlatform.config}
|
||||||
${xwithArch}
|
${xwithArch}
|
||||||
${xwithCpu}
|
${xwithCpu}
|
||||||
${xwithAbi}
|
${xwithAbi}
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
, binutils ? null
|
, binutils ? null
|
||||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
||||||
, darwin ? null
|
, darwin ? null
|
||||||
|
, buildPlatform, hostPlatform, targetPlatform
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert langJava -> zip != null && unzip != null
|
assert langJava -> zip != null && unzip != null
|
||||||
@ -129,12 +130,12 @@ let version = "5.4.0";
|
|||||||
crossMingw = cross != null && cross.libc == "msvcrt";
|
crossMingw = cross != null && cross.libc == "msvcrt";
|
||||||
crossDarwin = cross != null && cross.libc == "libSystem";
|
crossDarwin = cross != null && cross.libc == "libSystem";
|
||||||
crossConfigureFlags = let
|
crossConfigureFlags = let
|
||||||
gccArch = stdenv.cross.gcc.arch or null;
|
gccArch = targetPlatform.gcc.arch or null;
|
||||||
gccCpu = stdenv.cross.gcc.cpu or null;
|
gccCpu = targetPlatform.gcc.cpu or null;
|
||||||
gccAbi = stdenv.cross.gcc.abi or null;
|
gccAbi = targetPlatform.gcc.abi or null;
|
||||||
gccFpu = stdenv.cross.gcc.fpu or null;
|
gccFpu = targetPlatform.gcc.fpu or null;
|
||||||
gccFloat = stdenv.cross.gcc.float or null;
|
gccFloat = targetPlatform.gcc.float or null;
|
||||||
gccMode = stdenv.cross.gcc.mode or null;
|
gccMode = targetPlatform.gcc.mode or null;
|
||||||
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
|
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
|
||||||
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
|
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
|
||||||
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
|
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
|
||||||
@ -398,26 +399,26 @@ stdenv.mkDerivation ({
|
|||||||
else "install";
|
else "install";
|
||||||
|
|
||||||
crossAttrs = let
|
crossAttrs = let
|
||||||
xgccArch = stdenv.cross.gcc.arch or null;
|
xgccArch = targetPlatform.gcc.arch or null;
|
||||||
xgccCpu = stdenv.cross.gcc.cpu or null;
|
xgccCpu = targetPlatform.gcc.cpu or null;
|
||||||
xgccAbi = stdenv.cross.gcc.abi or null;
|
xgccAbi = targetPlatform.gcc.abi or null;
|
||||||
xgccFpu = stdenv.cross.gcc.fpu or null;
|
xgccFpu = targetPlatform.gcc.fpu or null;
|
||||||
xgccFloat = stdenv.cross.gcc.float or null;
|
xgccFloat = targetPlatform.gcc.float or null;
|
||||||
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
|
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
|
||||||
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
|
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
|
||||||
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
|
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
|
||||||
xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
|
xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
|
||||||
xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
|
xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
|
||||||
in {
|
in {
|
||||||
AR = "${stdenv.cross.config}-ar";
|
AR = "${targetPlatform.config}-ar";
|
||||||
LD = "${stdenv.cross.config}-ld";
|
LD = "${targetPlatform.config}-ld";
|
||||||
CC = "${stdenv.cross.config}-gcc";
|
CC = "${targetPlatform.config}-gcc";
|
||||||
CXX = "${stdenv.cross.config}-gcc";
|
CXX = "${targetPlatform.config}-gcc";
|
||||||
AR_FOR_TARGET = "${stdenv.cross.config}-ar";
|
AR_FOR_TARGET = "${targetPlatform.config}-ar";
|
||||||
LD_FOR_TARGET = "${stdenv.cross.config}-ld";
|
LD_FOR_TARGET = "${targetPlatform.config}-ld";
|
||||||
CC_FOR_TARGET = "${stdenv.cross.config}-gcc";
|
CC_FOR_TARGET = "${targetPlatform.config}-gcc";
|
||||||
NM_FOR_TARGET = "${stdenv.cross.config}-nm";
|
NM_FOR_TARGET = "${targetPlatform.config}-nm";
|
||||||
CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
|
CXX_FOR_TARGET = "${targetPlatform.config}-g++";
|
||||||
# If we are making a cross compiler, cross != null
|
# If we are making a cross compiler, cross != null
|
||||||
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
@ -446,7 +447,7 @@ stdenv.mkDerivation ({
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
${if langAda then " --enable-libada" else ""}
|
${if langAda then " --enable-libada" else ""}
|
||||||
--target=${stdenv.cross.config}
|
--target=${targetPlatform.config}
|
||||||
${xwithArch}
|
${xwithArch}
|
||||||
${xwithCpu}
|
${xwithCpu}
|
||||||
${xwithAbi}
|
${xwithAbi}
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
, binutils ? null
|
, binutils ? null
|
||||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
||||||
, darwin ? null
|
, darwin ? null
|
||||||
|
, buildPlatform, hostPlatform, targetPlatform
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert langJava -> zip != null && unzip != null
|
assert langJava -> zip != null && unzip != null
|
||||||
@ -125,12 +126,12 @@ let version = "6.3.0";
|
|||||||
crossMingw = cross != null && cross.libc == "msvcrt";
|
crossMingw = cross != null && cross.libc == "msvcrt";
|
||||||
crossDarwin = cross != null && cross.libc == "libSystem";
|
crossDarwin = cross != null && cross.libc == "libSystem";
|
||||||
crossConfigureFlags = let
|
crossConfigureFlags = let
|
||||||
gccArch = stdenv.cross.gcc.arch or null;
|
gccArch = targetPlatform.gcc.arch or null;
|
||||||
gccCpu = stdenv.cross.gcc.cpu or null;
|
gccCpu = targetPlatform.gcc.cpu or null;
|
||||||
gccAbi = stdenv.cross.gcc.abi or null;
|
gccAbi = targetPlatform.gcc.abi or null;
|
||||||
gccFpu = stdenv.cross.gcc.fpu or null;
|
gccFpu = targetPlatform.gcc.fpu or null;
|
||||||
gccFloat = stdenv.cross.gcc.float or null;
|
gccFloat = targetPlatform.gcc.float or null;
|
||||||
gccMode = stdenv.cross.gcc.mode or null;
|
gccMode = targetPlatform.gcc.mode or null;
|
||||||
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
|
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
|
||||||
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
|
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
|
||||||
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
|
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
|
||||||
@ -386,26 +387,26 @@ stdenv.mkDerivation ({
|
|||||||
else "install";
|
else "install";
|
||||||
|
|
||||||
crossAttrs = let
|
crossAttrs = let
|
||||||
xgccArch = stdenv.cross.gcc.arch or null;
|
xgccArch = targetPlatform.gcc.arch or null;
|
||||||
xgccCpu = stdenv.cross.gcc.cpu or null;
|
xgccCpu = targetPlatform.gcc.cpu or null;
|
||||||
xgccAbi = stdenv.cross.gcc.abi or null;
|
xgccAbi = targetPlatform.gcc.abi or null;
|
||||||
xgccFpu = stdenv.cross.gcc.fpu or null;
|
xgccFpu = targetPlatform.gcc.fpu or null;
|
||||||
xgccFloat = stdenv.cross.gcc.float or null;
|
xgccFloat = targetPlatform.gcc.float or null;
|
||||||
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
|
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
|
||||||
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
|
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
|
||||||
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
|
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
|
||||||
xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
|
xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
|
||||||
xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
|
xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
|
||||||
in {
|
in {
|
||||||
AR = "${stdenv.cross.config}-ar";
|
AR = "${targetPlatform.config}-ar";
|
||||||
LD = "${stdenv.cross.config}-ld";
|
LD = "${targetPlatform.config}-ld";
|
||||||
CC = "${stdenv.cross.config}-gcc";
|
CC = "${targetPlatform.config}-gcc";
|
||||||
CXX = "${stdenv.cross.config}-gcc";
|
CXX = "${targetPlatform.config}-gcc";
|
||||||
AR_FOR_TARGET = "${stdenv.cross.config}-ar";
|
AR_FOR_TARGET = "${targetPlatform.config}-ar";
|
||||||
LD_FOR_TARGET = "${stdenv.cross.config}-ld";
|
LD_FOR_TARGET = "${targetPlatform.config}-ld";
|
||||||
CC_FOR_TARGET = "${stdenv.cross.config}-gcc";
|
CC_FOR_TARGET = "${targetPlatform.config}-gcc";
|
||||||
NM_FOR_TARGET = "${stdenv.cross.config}-nm";
|
NM_FOR_TARGET = "${targetPlatform.config}-nm";
|
||||||
CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
|
CXX_FOR_TARGET = "${targetPlatform.config}-g++";
|
||||||
# If we are making a cross compiler, cross != null
|
# If we are making a cross compiler, cross != null
|
||||||
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
@ -434,7 +435,7 @@ stdenv.mkDerivation ({
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
${if langAda then " --enable-libada" else ""}
|
${if langAda then " --enable-libada" else ""}
|
||||||
--target=${stdenv.cross.config}
|
--target=${targetPlatform.config}
|
||||||
${xwithArch}
|
${xwithArch}
|
||||||
${xwithCpu}
|
${xwithCpu}
|
||||||
${xwithAbi}
|
${xwithAbi}
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
||||||
, darwin ? null
|
, darwin ? null
|
||||||
, flex ? null
|
, flex ? null
|
||||||
|
, buildPlatform, hostPlatform, targetPlatform
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert langJava -> zip != null && unzip != null
|
assert langJava -> zip != null && unzip != null
|
||||||
@ -125,12 +126,12 @@ let version = "7-20170409";
|
|||||||
crossMingw = cross != null && cross.libc == "msvcrt";
|
crossMingw = cross != null && cross.libc == "msvcrt";
|
||||||
crossDarwin = cross != null && cross.libc == "libSystem";
|
crossDarwin = cross != null && cross.libc == "libSystem";
|
||||||
crossConfigureFlags = let
|
crossConfigureFlags = let
|
||||||
gccArch = stdenv.cross.gcc.arch or null;
|
gccArch = targetPlatform.gcc.arch or null;
|
||||||
gccCpu = stdenv.cross.gcc.cpu or null;
|
gccCpu = targetPlatform.gcc.cpu or null;
|
||||||
gccAbi = stdenv.cross.gcc.abi or null;
|
gccAbi = targetPlatform.gcc.abi or null;
|
||||||
gccFpu = stdenv.cross.gcc.fpu or null;
|
gccFpu = targetPlatform.gcc.fpu or null;
|
||||||
gccFloat = stdenv.cross.gcc.float or null;
|
gccFloat = targetPlatform.gcc.float or null;
|
||||||
gccMode = stdenv.cross.gcc.mode or null;
|
gccMode = targetPlatform.gcc.mode or null;
|
||||||
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
|
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
|
||||||
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
|
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
|
||||||
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
|
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
|
||||||
@ -386,26 +387,26 @@ stdenv.mkDerivation ({
|
|||||||
else "install";
|
else "install";
|
||||||
|
|
||||||
crossAttrs = let
|
crossAttrs = let
|
||||||
xgccArch = stdenv.cross.gcc.arch or null;
|
xgccArch = targetPlatform.gcc.arch or null;
|
||||||
xgccCpu = stdenv.cross.gcc.cpu or null;
|
xgccCpu = targetPlatform.gcc.cpu or null;
|
||||||
xgccAbi = stdenv.cross.gcc.abi or null;
|
xgccAbi = targetPlatform.gcc.abi or null;
|
||||||
xgccFpu = stdenv.cross.gcc.fpu or null;
|
xgccFpu = targetPlatform.gcc.fpu or null;
|
||||||
xgccFloat = stdenv.cross.gcc.float or null;
|
xgccFloat = targetPlatform.gcc.float or null;
|
||||||
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
|
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
|
||||||
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
|
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
|
||||||
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
|
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
|
||||||
xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
|
xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
|
||||||
xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
|
xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
|
||||||
in {
|
in {
|
||||||
AR = "${stdenv.cross.config}-ar";
|
AR = "${targetPlatform.config}-ar";
|
||||||
LD = "${stdenv.cross.config}-ld";
|
LD = "${targetPlatform.config}-ld";
|
||||||
CC = "${stdenv.cross.config}-gcc";
|
CC = "${targetPlatform.config}-gcc";
|
||||||
CXX = "${stdenv.cross.config}-gcc";
|
CXX = "${targetPlatform.config}-gcc";
|
||||||
AR_FOR_TARGET = "${stdenv.cross.config}-ar";
|
AR_FOR_TARGET = "${targetPlatform.config}-ar";
|
||||||
LD_FOR_TARGET = "${stdenv.cross.config}-ld";
|
LD_FOR_TARGET = "${targetPlatform.config}-ld";
|
||||||
CC_FOR_TARGET = "${stdenv.cross.config}-gcc";
|
CC_FOR_TARGET = "${targetPlatform.config}-gcc";
|
||||||
NM_FOR_TARGET = "${stdenv.cross.config}-nm";
|
NM_FOR_TARGET = "${targetPlatform.config}-nm";
|
||||||
CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
|
CXX_FOR_TARGET = "${targetPlatform.config}-g++";
|
||||||
# If we are making a cross compiler, cross != null
|
# If we are making a cross compiler, cross != null
|
||||||
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
@ -434,7 +435,7 @@ stdenv.mkDerivation ({
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
${if langAda then " --enable-libada" else ""}
|
${if langAda then " --enable-libada" else ""}
|
||||||
--target=${stdenv.cross.config}
|
--target=${targetPlatform.config}
|
||||||
${xwithArch}
|
${xwithArch}
|
||||||
${xwithCpu}
|
${xwithCpu}
|
||||||
${xwithAbi}
|
${xwithAbi}
|
||||||
|
@ -4971,8 +4971,8 @@ with pkgs;
|
|||||||
|
|
||||||
gccCrossStageStatic = assert targetPlatform != buildPlatform; let
|
gccCrossStageStatic = assert targetPlatform != buildPlatform; let
|
||||||
libcCross1 =
|
libcCross1 =
|
||||||
if stdenv.cross.libc == "msvcrt" then windows.mingw_w64_headers
|
if targetPlatform.libc == "msvcrt" then windows.mingw_w64_headers
|
||||||
else if stdenv.cross.libc == "libSystem" then darwin.xcode
|
else if targetPlatform.libc == "libSystem" then darwin.xcode
|
||||||
else null;
|
else null;
|
||||||
in wrapGCCCross {
|
in wrapGCCCross {
|
||||||
gcc = forcedNativePackages.gcc.cc.override {
|
gcc = forcedNativePackages.gcc.cc.override {
|
||||||
|
Loading…
Reference in New Issue
Block a user