diff options
author | John Ericson <Ericson2314@Yahoo.com> | 2017-02-11 18:24:24 -0500 |
---|---|---|
committer | John Ericson <Ericson2314@Yahoo.com> | 2017-04-24 16:31:45 -0400 |
commit | a7068ace35c5344fc2760733d32cca8fd4f01116 (patch) | |
tree | 769ee153492039fa7dfeb5b758a63bced9740472 /pkgs/development/compilers/gcc/4.9/default.nix | |
parent | a7d89139ea74791137bfa606d109e515512c8460 (diff) | |
download | nixlib-a7068ace35c5344fc2760733d32cca8fd4f01116.tar nixlib-a7068ace35c5344fc2760733d32cca8fd4f01116.tar.gz nixlib-a7068ace35c5344fc2760733d32cca8fd4f01116.tar.bz2 nixlib-a7068ace35c5344fc2760733d32cca8fd4f01116.tar.lz nixlib-a7068ace35c5344fc2760733d32cca8fd4f01116.tar.xz nixlib-a7068ace35c5344fc2760733d32cca8fd4f01116.tar.zst nixlib-a7068ace35c5344fc2760733d32cca8fd4f01116.zip |
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.
Diffstat (limited to 'pkgs/development/compilers/gcc/4.9/default.nix')
-rw-r--r-- | pkgs/development/compilers/gcc/4.9/default.nix | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index eb03148a4b8d..594a61fdedfe 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -34,6 +34,7 @@ , stripped ? true , gnused ? null , darwin ? null +, buildPlatform, hostPlatform, targetPlatform }: assert langJava -> zip != null && unzip != null @@ -125,12 +126,12 @@ let version = "4.9.4"; crossMingw = cross != null && cross.libc == "msvcrt"; crossDarwin = cross != null && cross.libc == "libSystem"; crossConfigureFlags = let - gccArch = stdenv.cross.gcc.arch or null; - gccCpu = stdenv.cross.gcc.cpu or null; - gccAbi = stdenv.cross.gcc.abi or null; - gccFpu = stdenv.cross.gcc.fpu or null; - gccFloat = stdenv.cross.gcc.float or null; - gccMode = stdenv.cross.gcc.mode or null; + gccArch = targetPlatform.gcc.arch or null; + gccCpu = targetPlatform.gcc.cpu or null; + gccAbi = targetPlatform.gcc.abi or null; + gccFpu = targetPlatform.gcc.fpu or null; + gccFloat = targetPlatform.gcc.float or null; + gccMode = targetPlatform.gcc.mode or null; withArch = if gccArch != null then " --with-arch=${gccArch}" else ""; withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else ""; withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else ""; @@ -389,26 +390,26 @@ stdenv.mkDerivation ({ else "install"; crossAttrs = let - xgccArch = stdenv.cross.gcc.arch or null; - xgccCpu = stdenv.cross.gcc.cpu or null; - xgccAbi = stdenv.cross.gcc.abi or null; - xgccFpu = stdenv.cross.gcc.fpu or null; - xgccFloat = stdenv.cross.gcc.float or null; + xgccArch = targetPlatform.gcc.arch or null; + xgccCpu = targetPlatform.gcc.cpu or null; + xgccAbi = targetPlatform.gcc.abi or null; + xgccFpu = targetPlatform.gcc.fpu or null; + xgccFloat = targetPlatform.gcc.float or null; xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else ""; xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else ""; xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else ""; xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else ""; xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else ""; in { - AR = "${stdenv.cross.config}-ar"; - LD = "${stdenv.cross.config}-ld"; - CC = "${stdenv.cross.config}-gcc"; - CXX = "${stdenv.cross.config}-gcc"; - AR_FOR_TARGET = "${stdenv.cross.config}-ar"; - LD_FOR_TARGET = "${stdenv.cross.config}-ld"; - CC_FOR_TARGET = "${stdenv.cross.config}-gcc"; - NM_FOR_TARGET = "${stdenv.cross.config}-nm"; - CXX_FOR_TARGET = "${stdenv.cross.config}-g++"; + AR = "${targetPlatform.config}-ar"; + LD = "${targetPlatform.config}-ld"; + CC = "${targetPlatform.config}-gcc"; + CXX = "${targetPlatform.config}-gcc"; + AR_FOR_TARGET = "${targetPlatform.config}-ar"; + LD_FOR_TARGET = "${targetPlatform.config}-ld"; + CC_FOR_TARGET = "${targetPlatform.config}-gcc"; + NM_FOR_TARGET = "${targetPlatform.config}-nm"; + CXX_FOR_TARGET = "${targetPlatform.config}-g++"; # If we are making a cross compiler, cross != null NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else ""; dontStrip = true; @@ -438,7 +439,7 @@ stdenv.mkDerivation ({ ) } ${if langAda then " --enable-libada" else ""} - --target=${stdenv.cross.config} + --target=${targetPlatform.config} ${xwithArch} ${xwithCpu} ${xwithAbi} |