From e854685d65f4f6bf9afe5b34550c15f69afa9247 Mon Sep 17 00:00:00 2001 From: Ross MacLeod Date: Mon, 5 Jun 2017 00:10:17 +0000 Subject: gcc*: Remove cross argument and instead use hostPlatform and targetPlatform --- pkgs/development/compilers/gcc/4.5/default.nix | 47 +++++++++++----------- pkgs/development/compilers/gcc/4.8/default.nix | 47 +++++++++++----------- pkgs/development/compilers/gcc/4.9/default.nix | 47 +++++++++++----------- pkgs/development/compilers/gcc/5/default.nix | 47 +++++++++++----------- pkgs/development/compilers/gcc/6/default.nix | 47 +++++++++++----------- .../development/compilers/gcc/snapshot/default.nix | 47 +++++++++++----------- 6 files changed, 138 insertions(+), 144 deletions(-) (limited to 'pkgs/development/compilers') diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/4.5/default.nix index 288a91398d29..7c5d91c91285 100644 --- a/pkgs/development/compilers/gcc/4.5/default.nix +++ b/pkgs/development/compilers/gcc/4.5/default.nix @@ -19,7 +19,6 @@ , gnatboot ? null , enableMultilib ? false , name ? "gcc" -, cross ? null , libcCross ? null , crossStageStatic ? true , gnat ? null @@ -65,22 +64,22 @@ let version = "4.5.4"; javaAwtGtk = langJava && gtk2 != null; /* Cross-gcc settings */ - gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross; - gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross; - gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross; + gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null targetPlatform; + gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null targetPlatformt; + gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null targetPlatform; 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 ""; - crossMingw = (cross != null && cross.libc == "msvcrt"); + crossMingw = (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt"); crossConfigureFlags = - "--target=${cross.config}" + + "--target=${targetPlatform.config}" + withArch + withCpu + withAbi + # Ensure that -print-prog-name is able to find the correct programs. - " --with-as=${binutils}/bin/${cross.config}-as" + - " --with-ld=${binutils}/bin/${cross.config}-ld" + + " --with-as=${binutils}/bin/${targetPlatform.config}-as" + + " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" + (if crossMingw && crossStageStatic then " --with-headers=${libcCross}/include" + " --with-gcc" + @@ -120,7 +119,7 @@ let version = "4.5.4"; ); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; - crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; + crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else ""; in @@ -148,7 +147,7 @@ stdenv.mkDerivation ({ patches = [ ] - ++ optional (cross != null) ../libstdc++-target.patch + ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ./no-sys-dirs.patch # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its # target libraries and tools. @@ -161,7 +160,7 @@ stdenv.mkDerivation ({ || (libcCross != null # e.g., building `gcc.crossDrv' && libcCross ? crossConfig && libcCross.crossConfig == "i586-pc-gnu") - || (cross != null && cross.config == "i586-pc-gnu" + || (targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu" && libcCross != null)) then # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not @@ -197,7 +196,7 @@ stdenv.mkDerivation ({ sed -i gcc/config/t-gnu \ -es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc.dev}/include|g' '' - else if cross != null || stdenv.cc.libc != null then + else if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -227,7 +226,7 @@ stdenv.mkDerivation ({ ++ (optional langJava boehmgc) ++ (optionals langJava [zip unzip]) ++ (optionals javaAwtGtk ([gtk2 pkgconfig libart_lgpl] ++ xlibs)) - ++ (optionals (cross != null) [binutils]) + ++ (optionals (targetPlatform != hostPlatform) [binutils]) ++ (optionals langAda [gnatboot]) ++ (optionals langVhdl [gnat]) ; @@ -265,13 +264,13 @@ stdenv.mkDerivation ({ ) } ${ # Trick that should be taken out once we have a mips64el-linux not loongson2f - if cross == null && stdenv.system == "mips64el-linux" then "--with-arch=loongson2f" else ""} + if targetPlatform == hostPlatform && stdenv.system == "mips64el-linux" then "--with-arch=loongson2f" else ""} ${if langAda then " --enable-libada" else ""} - ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} - ${if cross != null then crossConfigureFlags else ""} + ${if targetPlatform == hostPlatform && stdenv.isi686 then "--with-arch=i686" else ""} + ${if targetPlatform != hostPlatform then crossConfigureFlags else ""} "; - targetConfig = if cross != null then cross.config else null; + targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; crossAttrs = { AR = "${targetPlatform.config}-ar"; @@ -284,7 +283,7 @@ stdenv.mkDerivation ({ 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 ""; + NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else ""; dontStrip = true; configureFlags = '' ${if enableMultilib then "" else "--disable-multilib"} @@ -312,8 +311,8 @@ stdenv.mkDerivation ({ ) } ${if langAda then " --enable-libada" else ""} - ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} - ${if cross != null then crossConfigureFlags else ""} + ${if targetPlatform == hostPlatform && stdenv.isi686 then "--with-arch=i686" else ""} + ${if targetPlatform != hostPlatform then crossConfigureFlags else ""} --target=${targetPlatform.config} ''; }; @@ -357,7 +356,7 @@ stdenv.mkDerivation ({ ++ optional (libpthread != null) libpthread); EXTRA_TARGET_CFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-idirafter ${libcCross.dev}/include" ] ++ optionals (! crossStageStatic) [ @@ -366,7 +365,7 @@ stdenv.mkDerivation ({ else null; EXTRA_TARGET_LDFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-Wl,-L${libcCross.out}/lib" ] ++ (if crossStageStatic then [ @@ -412,14 +411,14 @@ stdenv.mkDerivation ({ }; } -// optionalAttrs (cross != null || libcCross != null) { +// optionalAttrs (targetPlatform != hostPlatform || libcCross != null) { # `builder.sh' sets $CPP, which leads configure to use "gcc -E" instead of, # say, "i586-pc-gnu-gcc -E" when building `gcc.crossDrv'. # FIXME: Fix `builder.sh' directly in the next stdenv-update. postUnpack = "unset CPP"; } -// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) { +// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) { makeFlags = [ "all-gcc" "all-target-libgcc" ]; installTargets = "install-gcc install-target-libgcc"; } diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index ee013809faf8..c057624398b3 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -25,7 +25,6 @@ , enableMultilib ? false , enablePlugin ? true # whether to support user-supplied plug-ins , name ? "gcc" -, cross ? null , libcCross ? null , crossStageStatic ? true , gnat ? null @@ -60,13 +59,13 @@ with builtins; let version = "4.8.5"; # Whether building a cross-compiler for GNU/Hurd. - crossGNU = cross != null && cross.config == "i586-pc-gnu"; + crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu"; enableParallelBuilding = true; patches = [ ] ++ optional enableParallelBuilding ../parallel-bconfig.patch - ++ optional (cross != null) ../libstdc++-target.patch + ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its # target libraries and tools. @@ -120,8 +119,8 @@ let version = "4.8.5"; withMode; /* Cross-gcc settings */ - crossMingw = cross != null && cross.libc == "msvcrt"; - crossDarwin = cross != null && cross.libc == "libSystem"; + crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt"; + crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem"; crossConfigureFlags = let gccArch = targetPlatform.gcc.arch or null; gccCpu = targetPlatform.gcc.cpu or null; @@ -136,7 +135,7 @@ let version = "4.8.5"; withFloat = if gccFloat != null then " --with-float=${gccFloat}" else ""; withMode = if gccMode != null then " --with-mode=${gccMode}" else ""; in - "--target=${cross.config}" + + "--target=${targetPlatform.config}" + withArch + withCpu + withAbi + @@ -144,8 +143,8 @@ let version = "4.8.5"; withFloat + withMode + # Ensure that -print-prog-name is able to find the correct programs. - " --with-as=${binutils}/bin/${cross.config}-as" + - " --with-ld=${binutils}/bin/${cross.config}-ld" + + " --with-as=${binutils}/bin/${targetPlatform.config}-as" + + " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" + (if crossMingw && crossStageStatic then " --with-headers=${libcCross}/include" + " --with-gcc" + @@ -187,7 +186,7 @@ let version = "4.8.5"; " --disable-shared" + # To keep ABI compatibility with upstream mingw-w64 " --enable-fully-dynamic-string" - else (if cross.libc == "uclibc" then + else (if targetPlatform.libc == "uclibc" then # In uclibc cases, libgomp needs an additional '-ldl' # and as I don't know how to pass it, I disable libgomp. " --disable-libgomp" else "") + @@ -196,9 +195,9 @@ let version = "4.8.5"; " --disable-decimal-float") # No final libdecnumber (it may work only in 386) ); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; - crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; + crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else ""; - bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips; + bootstrap = targetPlatform == hostPlatform && !stdenv.isArm && !stdenv.isMips; in @@ -262,7 +261,7 @@ stdenv.mkDerivation ({ sed -i "${gnu_h}" \ -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' '' - else if cross != null || stdenv.cc.libc != null then + else if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -292,7 +291,7 @@ stdenv.mkDerivation ({ ++ (optional (zlib != null) zlib) ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) - ++ (optionals (cross != null) [binutils]) + ++ (optionals (targetPlatform != hostPlatform) [binutils]) ++ (optionals langAda [gnatboot]) ++ (optionals langVhdl [gnat]) @@ -357,19 +356,19 @@ stdenv.mkDerivation ({ ) ) } - ${if cross == null + ${if targetPlatform == hostPlatform then if stdenv.isDarwin then " --with-native-system-header-dir=${darwin.usr-include}" else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include" else ""} ${if langAda then " --enable-libada" else ""} - ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} - ${if cross != null then crossConfigureFlags else ""} + ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""} + ${if targetPlatform != hostPlatform then crossConfigureFlags else ""} ${if !bootstrap then "--disable-bootstrap" else ""} - ${if cross == null then platformFlags else ""} + ${if targetPlatform == hostPlatform then platformFlags else ""} "; - targetConfig = if cross != null then cross.config else null; + targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; buildFlags = if bootstrap then (if profiledCompiler then "profiledbootstrap" else "bootstrap") @@ -402,7 +401,7 @@ stdenv.mkDerivation ({ 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 ""; + NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else ""; dontStrip = true; configureFlags = '' ${if enableMultilib then "" else "--disable-multilib"} @@ -479,7 +478,7 @@ stdenv.mkDerivation ({ ++ optional (libpthread != null) libpthread); EXTRA_TARGET_CFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-idirafter ${libcCross.dev}/include" ] ++ optionals (! crossStageStatic) [ @@ -488,7 +487,7 @@ stdenv.mkDerivation ({ else null; EXTRA_TARGET_LDFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-Wl,-L${libcCross.out}/lib" ] ++ (if crossStageStatic then [ @@ -537,13 +536,13 @@ stdenv.mkDerivation ({ }; } -// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) { +// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) { makeFlags = [ "all-gcc" "all-target-libgcc" ]; installTargets = "install-gcc install-target-libgcc"; } -# Strip kills static libs of other archs (hence cross != null) -// optionalAttrs (!stripped || cross != null) { dontStrip = true; } +# Strip kills static libs of other archs (hence targetPlatform != hostPlatform) +// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; } ) diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 872f78fcf37a..3469710f9916 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -25,7 +25,6 @@ , enableMultilib ? false , enablePlugin ? true # whether to support user-supplied plug-ins , name ? "gcc" -, cross ? null , libcCross ? null , crossStageStatic ? true , gnat ? null @@ -60,14 +59,14 @@ with builtins; let version = "4.9.4"; # Whether building a cross-compiler for GNU/Hurd. - crossGNU = cross != null && cross.config == "i586-pc-gnu"; + crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu"; enableParallelBuilding = true; patches = [ ../use-source-date-epoch.patch ] ++ optionals enableParallelBuilding [ ../parallel-bconfig.patch ./parallel-strsignal.patch ] - ++ optional (cross != null) ../libstdc++-target.patch + ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its # target libraries and tools. @@ -122,8 +121,8 @@ let version = "4.9.4"; withMode; /* Cross-gcc settings */ - crossMingw = cross != null && cross.libc == "msvcrt"; - crossDarwin = cross != null && cross.libc == "libSystem"; + crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt"; + crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem"; crossConfigureFlags = let gccArch = targetPlatform.gcc.arch or null; gccCpu = targetPlatform.gcc.cpu or null; @@ -138,7 +137,7 @@ let version = "4.9.4"; withFloat = if gccFloat != null then " --with-float=${gccFloat}" else ""; withMode = if gccMode != null then " --with-mode=${gccMode}" else ""; in - "--target=${cross.config}" + + "--target=${targetPlatform.config}" + withArch + withCpu + withAbi + @@ -146,8 +145,8 @@ let version = "4.9.4"; withFloat + withMode + # Ensure that -print-prog-name is able to find the correct programs. - " --with-as=${binutils}/bin/${cross.config}-as" + - " --with-ld=${binutils}/bin/${cross.config}-ld" + + " --with-as=${binutils}/bin/${targetPlatform.config}-as" + + " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" + (if crossMingw && crossStageStatic then " --with-headers=${libcCross}/include" + " --with-gcc" + @@ -187,7 +186,7 @@ let version = "4.9.4"; " --disable-shared" + # To keep ABI compatibility with upstream mingw-w64 " --enable-fully-dynamic-string" - else (if cross.libc == "uclibc" then + else (if targetPlatform.libc == "uclibc" then # libsanitizer requires netrom/netrom.h which is not # available in uclibc. " --disable-libsanitizer" + @@ -199,9 +198,9 @@ let version = "4.9.4"; " --disable-decimal-float") # No final libdecnumber (it may work only in 386) ); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; - crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; + crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else ""; - bootstrap = cross == null; + bootstrap = targetPlatform == hostPlatform; in @@ -266,7 +265,7 @@ stdenv.mkDerivation ({ sed -i "${gnu_h}" \ -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' '' - else if cross != null || stdenv.cc.libc != null then + else if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -296,7 +295,7 @@ stdenv.mkDerivation ({ ++ (optional (zlib != null) zlib) ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) - ++ (optionals (cross != null) [binutils]) + ++ (optionals (targetPlatform != hostPlatform) [binutils]) ++ (optionals langAda [gnatboot]) ++ (optionals langVhdl [gnat]) @@ -363,19 +362,19 @@ stdenv.mkDerivation ({ ) ) } - ${if cross == null + ${if targetPlatform == hostPlatform then if stdenv.isDarwin then " --with-native-system-header-dir=${darwin.usr-include}" else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include" else ""} ${if langAda then " --enable-libada" else ""} - ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} - ${if cross != null then crossConfigureFlags else ""} + ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""} + ${if targetPlatform != hostPlatform then crossConfigureFlags else ""} ${if !bootstrap then "--disable-bootstrap" else ""} - ${if cross == null then platformFlags else ""} + ${if targetPlatform == hostPlatform then platformFlags else ""} "; - targetConfig = if cross != null then cross.config else null; + targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; buildFlags = if bootstrap then (if profiledCompiler then "profiledbootstrap" else "bootstrap") @@ -408,7 +407,7 @@ stdenv.mkDerivation ({ 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 ""; + NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else ""; dontStrip = true; configureFlags = '' ${if enableMultilib then "" else "--disable-multilib"} @@ -485,7 +484,7 @@ stdenv.mkDerivation ({ ++ optional (libpthread != null) libpthread); EXTRA_TARGET_CFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-idirafter ${libcCross.dev}/include" ] ++ optionals (! crossStageStatic) [ @@ -494,7 +493,7 @@ stdenv.mkDerivation ({ else null; EXTRA_TARGET_LDFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-Wl,-L${libcCross.out}/lib" ] ++ (if crossStageStatic then [ @@ -543,13 +542,13 @@ stdenv.mkDerivation ({ }; } -// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) { +// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) { makeFlags = [ "all-gcc" "all-target-libgcc" ]; installTargets = "install-gcc install-target-libgcc"; } -# Strip kills static libs of other archs (hence cross != null) -// optionalAttrs (!stripped || cross != null) { dontStrip = true; } +# Strip kills static libs of other archs (hence targetPlatform != hostPlatform) +// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; } diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 70cd08383902..2569b8c5dc7a 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -25,7 +25,6 @@ , enableMultilib ? false , enablePlugin ? true # whether to support user-supplied plug-ins , name ? "gcc" -, cross ? null , libcCross ? null , crossStageStatic ? true , gnat ? null @@ -63,13 +62,13 @@ let version = "5.4.0"; sha256 = "0fihlcy5hnksdxk0sn6bvgnyq8gfrgs8m794b1jxwd1dxinzg3b0"; # Whether building a cross-compiler for GNU/Hurd. - crossGNU = cross != null && cross.config == "i586-pc-gnu"; + crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu"; enableParallelBuilding = true; patches = [ ../use-source-date-epoch.patch ] - ++ optional (cross != null) ../libstdc++-target.patch + ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its # target libraries and tools. @@ -126,8 +125,8 @@ let version = "5.4.0"; withMode; /* Cross-gcc settings */ - crossMingw = cross != null && cross.libc == "msvcrt"; - crossDarwin = cross != null && cross.libc == "libSystem"; + crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt"; + crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem"; crossConfigureFlags = let gccArch = targetPlatform.gcc.arch or null; gccCpu = targetPlatform.gcc.cpu or null; @@ -142,7 +141,7 @@ let version = "5.4.0"; withFloat = if gccFloat != null then " --with-float=${gccFloat}" else ""; withMode = if gccMode != null then " --with-mode=${gccMode}" else ""; in - "--target=${cross.config}" + + "--target=${targetPlatform.config}" + withArch + withCpu + withAbi + @@ -150,8 +149,8 @@ let version = "5.4.0"; withFloat + withMode + # Ensure that -print-prog-name is able to find the correct programs. - " --with-as=${binutils}/bin/${cross.config}-as" + - " --with-ld=${binutils}/bin/${cross.config}-ld" + + " --with-as=${binutils}/bin/${targetPlatform.config}-as" + + " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" + (if crossMingw && crossStageStatic then " --with-headers=${libcCross}/include" + " --with-gcc" + @@ -191,7 +190,7 @@ let version = "5.4.0"; " --disable-shared" + # To keep ABI compatibility with upstream mingw-w64 " --enable-fully-dynamic-string" - else (if cross.libc == "uclibc" then + else (if targetPlatform.libc == "uclibc" then # libsanitizer requires netrom/netrom.h which is not # available in uclibc. " --disable-libsanitizer" + @@ -203,9 +202,9 @@ let version = "5.4.0"; " --disable-decimal-float") # No final libdecnumber (it may work only in 386) ); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; - crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; + crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else ""; - bootstrap = cross == null; + bootstrap = targetPlatform == hostPlatform; in @@ -283,7 +282,7 @@ stdenv.mkDerivation ({ sed -i "${gnu_h}" \ -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' '' - else if cross != null || stdenv.cc.libc != null then + else if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -312,7 +311,7 @@ stdenv.mkDerivation ({ ++ (optional (zlib != null) zlib) ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) - ++ (optionals (cross != null) [binutils]) + ++ (optionals (targetPlatform != hostPlatform) [binutils]) ++ (optionals langAda [gnatboot]) ++ (optionals langVhdl [gnat]) @@ -378,19 +377,19 @@ stdenv.mkDerivation ({ ) ) } - ${if cross == null + ${if targetPlatform == hostPlatform then if stdenv.isDarwin then " --with-native-system-header-dir=${darwin.usr-include}" else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include" else ""} ${if langAda then " --enable-libada" else ""} - ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} - ${if cross != null then crossConfigureFlags else ""} + ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""} + ${if targetPlatform != hostPlatform then crossConfigureFlags else ""} ${if !bootstrap then "--disable-bootstrap" else ""} - ${if cross == null then platformFlags else ""} + ${if targetPlatform == hostPlatform then platformFlags else ""} "; - targetConfig = if cross != null then cross.config else null; + targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; buildFlags = if bootstrap then (if profiledCompiler then "profiledbootstrap" else "bootstrap") @@ -423,7 +422,7 @@ stdenv.mkDerivation ({ 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 ""; + NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else ""; dontStrip = true; configureFlags = '' ${if enableMultilib then "" else "--disable-multilib"} @@ -499,7 +498,7 @@ stdenv.mkDerivation ({ ++ optional (libpthread != null) libpthread); EXTRA_TARGET_CFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-idirafter ${getDev libcCross}/include" ] ++ optionals (! crossStageStatic) [ @@ -508,7 +507,7 @@ stdenv.mkDerivation ({ else null; EXTRA_TARGET_LDFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-Wl,-L${libcCross.out}/lib" ] ++ (if crossStageStatic then [ @@ -556,13 +555,13 @@ stdenv.mkDerivation ({ }; } -// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) { +// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) { makeFlags = [ "all-gcc" "all-target-libgcc" ]; installTargets = "install-gcc install-target-libgcc"; } -# Strip kills static libs of other archs (hence cross != null) -// optionalAttrs (!stripped || cross != null) { dontStrip = true; } +# Strip kills static libs of other archs (hence targetPlatform != hostPlatform) +// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; } ) diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 1a95f476adaf..8086bfb24df6 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -25,7 +25,6 @@ , enableMultilib ? false , enablePlugin ? true # whether to support user-supplied plug-ins , name ? "gcc" -, cross ? null , libcCross ? null , crossStageStatic ? true , gnat ? null @@ -62,13 +61,13 @@ with builtins; let version = "6.3.0"; # Whether building a cross-compiler for GNU/Hurd. - crossGNU = cross != null && cross.config == "i586-pc-gnu"; + crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu"; enableParallelBuilding = true; patches = [ ../use-source-date-epoch.patch ] - ++ optional (cross != null) ../libstdc++-target.patch + ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its # target libraries and tools. @@ -122,8 +121,8 @@ let version = "6.3.0"; withMode; /* Cross-gcc settings */ - crossMingw = cross != null && cross.libc == "msvcrt"; - crossDarwin = cross != null && cross.libc == "libSystem"; + crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt"; + crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem"; crossConfigureFlags = let gccArch = targetPlatform.gcc.arch or null; gccCpu = targetPlatform.gcc.cpu or null; @@ -138,7 +137,7 @@ let version = "6.3.0"; withFloat = if gccFloat != null then " --with-float=${gccFloat}" else ""; withMode = if gccMode != null then " --with-mode=${gccMode}" else ""; in - "--target=${cross.config}" + + "--target=${targetPlatform.config}" + withArch + withCpu + withAbi + @@ -146,8 +145,8 @@ let version = "6.3.0"; withFloat + withMode + # Ensure that -print-prog-name is able to find the correct programs. - " --with-as=${binutils}/bin/${cross.config}-as" + - " --with-ld=${binutils}/bin/${cross.config}-ld" + + " --with-as=${binutils}/bin/${targetPlatform.config}-as" + + " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" + (if crossMingw && crossStageStatic then " --with-headers=${libcCross}/include" + " --with-gcc" + @@ -187,7 +186,7 @@ let version = "6.3.0"; " --disable-shared" + # To keep ABI compatibility with upstream mingw-w64 " --enable-fully-dynamic-string" - else (if cross.libc == "uclibc" then + else (if targetPlatform.libc == "uclibc" then # libsanitizer requires netrom/netrom.h which is not # available in uclibc. " --disable-libsanitizer" + @@ -199,9 +198,9 @@ let version = "6.3.0"; " --disable-decimal-float") # No final libdecnumber (it may work only in 386) ); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; - crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; + crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else ""; - bootstrap = cross == null; + bootstrap = targetPlatform == hostPlatform; in @@ -265,7 +264,7 @@ stdenv.mkDerivation ({ sed -i "${gnu_h}" \ -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' '' - else if cross != null || stdenv.cc.libc != null then + else if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -294,7 +293,7 @@ stdenv.mkDerivation ({ ++ (optional (zlib != null) zlib) ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) - ++ (optionals (cross != null) [binutils]) + ++ (optionals (targetPlatform != hostPlatform) [binutils]) ++ (optionals langAda [gnatboot]) ++ (optionals langVhdl [gnat]) @@ -360,19 +359,19 @@ stdenv.mkDerivation ({ ) ) } - ${if cross == null + ${if targetPlatform == hostPlatform then if stdenv.isDarwin then " --with-native-system-header-dir=${darwin.usr-include}" else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include" else ""} ${if langAda then " --enable-libada" else ""} - ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} - ${if cross != null then crossConfigureFlags else ""} + ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""} + ${if targetPlatform != hostPlatform then crossConfigureFlags else ""} ${if !bootstrap then "--disable-bootstrap" else ""} - ${if cross == null then platformFlags else ""} + ${if targetPlatform == hostPlatform then platformFlags else ""} "; - targetConfig = if cross != null then cross.config else null; + targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; buildFlags = if bootstrap then (if profiledCompiler then "profiledbootstrap" else "bootstrap") @@ -405,7 +404,7 @@ stdenv.mkDerivation ({ 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 ""; + NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else ""; dontStrip = true; configureFlags = '' ${if enableMultilib then "" else "--disable-multilib"} @@ -481,7 +480,7 @@ stdenv.mkDerivation ({ ++ optional (libpthread != null) libpthread); EXTRA_TARGET_CFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-idirafter ${getDev libcCross}/include" ] ++ optionals (! crossStageStatic) [ @@ -490,7 +489,7 @@ stdenv.mkDerivation ({ else null; EXTRA_TARGET_LDFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-Wl,-L${libcCross.out}/lib" ] ++ (if crossStageStatic then [ @@ -538,13 +537,13 @@ stdenv.mkDerivation ({ }; } -// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) { +// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) { makeFlags = [ "all-gcc" "all-target-libgcc" ]; installTargets = "install-gcc install-target-libgcc"; } -# Strip kills static libs of other archs (hence cross != null) -// optionalAttrs (!stripped || cross != null) { dontStrip = true; } +# Strip kills static libs of other archs (hence targetPlatform != hostPlatform) +// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; } ) diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix index cbb373eb3eda..33a202fdb98b 100644 --- a/pkgs/development/compilers/gcc/snapshot/default.nix +++ b/pkgs/development/compilers/gcc/snapshot/default.nix @@ -25,7 +25,6 @@ , enableMultilib ? false , enablePlugin ? true # whether to support user-supplied plug-ins , name ? "gcc" -, cross ? null , libcCross ? null , crossStageStatic ? true , gnat ? null @@ -63,13 +62,13 @@ with builtins; let version = "7-20170409"; # Whether building a cross-compiler for GNU/Hurd. - crossGNU = cross != null && cross.config == "i586-pc-gnu"; + crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu"; enableParallelBuilding = true; patches = [ ] - ++ optional (cross != null) ../libstdc++-target.patch + ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its # target libraries and tools. @@ -122,8 +121,8 @@ let version = "7-20170409"; withMode; /* Cross-gcc settings */ - crossMingw = cross != null && cross.libc == "msvcrt"; - crossDarwin = cross != null && cross.libc == "libSystem"; + crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt"; + crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem"; crossConfigureFlags = let gccArch = targetPlatform.gcc.arch or null; gccCpu = targetPlatform.gcc.cpu or null; @@ -138,7 +137,7 @@ let version = "7-20170409"; withFloat = if gccFloat != null then " --with-float=${gccFloat}" else ""; withMode = if gccMode != null then " --with-mode=${gccMode}" else ""; in - "--target=${cross.config}" + + "--target=${targetPlatform.config}" + withArch + withCpu + withAbi + @@ -146,8 +145,8 @@ let version = "7-20170409"; withFloat + withMode + # Ensure that -print-prog-name is able to find the correct programs. - " --with-as=${binutils}/bin/${cross.config}-as" + - " --with-ld=${binutils}/bin/${cross.config}-ld" + + " --with-as=${binutils}/bin/${targetPlatform.config}-as" + + " --with-ld=${binutils}/bin/${targetPlatform.config}-ld" + (if crossMingw && crossStageStatic then " --with-headers=${libcCross}/include" + " --with-gcc" + @@ -188,7 +187,7 @@ let version = "7-20170409"; " --disable-shared" + # To keep ABI compatibility with upstream mingw-w64 " --enable-fully-dynamic-string" - else (if cross.libc == "uclibc" then + else (if targetPlatform.libc == "uclibc" then # libsanitizer requires netrom/netrom.h which is not # available in uclibc. " --disable-libsanitizer" + @@ -200,9 +199,9 @@ let version = "7-20170409"; " --disable-decimal-float") # No final libdecnumber (it may work only in 386) ); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; - crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; + crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else ""; - bootstrap = cross == null; + bootstrap = targetPlatform == hostPlatform; in @@ -266,7 +265,7 @@ stdenv.mkDerivation ({ sed -i "${gnu_h}" \ -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' '' - else if cross != null || stdenv.cc.libc != null then + else if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -295,7 +294,7 @@ stdenv.mkDerivation ({ ++ (optional (zlib != null) zlib) ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) - ++ (optionals (cross != null) [binutils]) + ++ (optionals (targetPlatform != hostPlatform) [binutils]) ++ (optionals langAda [gnatboot]) ++ (optionals langVhdl [gnat]) @@ -361,19 +360,19 @@ stdenv.mkDerivation ({ ) ) } - ${if cross == null + ${if targetPlatform == hostPlatform then if stdenv.isDarwin then " --with-native-system-header-dir=${darwin.usr-include}" else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include" else ""} ${if langAda then " --enable-libada" else ""} - ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} - ${if cross != null then crossConfigureFlags else ""} + ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""} + ${if targetPlatform != hostPlatform then crossConfigureFlags else ""} ${if !bootstrap then "--disable-bootstrap" else ""} - ${if cross == null then platformFlags else ""} + ${if targetPlatform == hostPlatform then platformFlags else ""} "; - targetConfig = if cross != null then cross.config else null; + targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; buildFlags = if bootstrap then (if profiledCompiler then "profiledbootstrap" else "bootstrap") @@ -406,7 +405,7 @@ stdenv.mkDerivation ({ 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 ""; + NIX_CC_CROSS = if targetPlatform == hostPlatform then "${stdenv.ccCross}" else ""; dontStrip = true; configureFlags = '' ${if enableMultilib then "" else "--disable-multilib"} @@ -482,7 +481,7 @@ stdenv.mkDerivation ({ ++ optional (libpthread != null) libpthread); EXTRA_TARGET_CFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-idirafter ${getDev libcCross}/include" ] ++ optionals (! crossStageStatic) [ @@ -491,7 +490,7 @@ stdenv.mkDerivation ({ else null; EXTRA_TARGET_LDFLAGS = - if cross != null && libcCross != null then [ + if targetPlatform != hostPlatform && libcCross != null then [ "-Wl,-L${libcCross.out}/lib" ] ++ (if crossStageStatic then [ @@ -539,13 +538,13 @@ stdenv.mkDerivation ({ }; } -// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) { +// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) { makeFlags = [ "all-gcc" "all-target-libgcc" ]; installTargets = "install-gcc install-target-libgcc"; } -# Strip kills static libs of other archs (hence cross != null) -// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; } +# Strip kills static libs of other archs (hence targetPlatform != hostPlatform) +// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; NIX_STRIP_DEBUG = 0; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; } ) -- cgit 1.4.1 From 35ed21d09636ea85806685c92723a5ebc2d6bb39 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sun, 4 Jun 2017 23:55:29 -0400 Subject: gcc*: Replace stdenv.is* with {host,target}Platform.is* Host everywhere would be guaranteed to preserve the old semantics, but in a few places it doesn't matter in practice, target is used instead for clarity. --- pkgs/development/compilers/gcc/4.5/default.nix | 6 +++--- pkgs/development/compilers/gcc/4.8/default.nix | 20 +++++++++--------- pkgs/development/compilers/gcc/4.9/default.nix | 18 ++++++++-------- pkgs/development/compilers/gcc/5/default.nix | 24 +++++++++++----------- pkgs/development/compilers/gcc/6/default.nix | 24 +++++++++++----------- .../development/compilers/gcc/snapshot/default.nix | 22 ++++++++++---------- 6 files changed, 57 insertions(+), 57 deletions(-) (limited to 'pkgs/development/compilers') diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/4.5/default.nix index 7c5d91c91285..67981ad1056e 100644 --- a/pkgs/development/compilers/gcc/4.5/default.nix +++ b/pkgs/development/compilers/gcc/4.5/default.nix @@ -138,7 +138,7 @@ stdenv.mkDerivation ({ hardeningDisable = [ "format" ] ++ optional (name != "gnat") "all"; - outputs = if (stdenv.is64bit && langAda) then [ "out" "doc" ] + outputs = if (hostPlatform.is64bit && langAda) then [ "out" "doc" ] else [ "out" "lib" "doc" ]; setOutputFlags = false; NIX_NO_SELF_RPATH = true; @@ -266,7 +266,7 @@ stdenv.mkDerivation ({ ${ # Trick that should be taken out once we have a mips64el-linux not loongson2f if targetPlatform == hostPlatform && stdenv.system == "mips64el-linux" then "--with-arch=loongson2f" else ""} ${if langAda then " --enable-libada" else ""} - ${if targetPlatform == hostPlatform && stdenv.isi686 then "--with-arch=i686" else ""} + ${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""} ${if targetPlatform != hostPlatform then crossConfigureFlags else ""} "; @@ -311,7 +311,7 @@ stdenv.mkDerivation ({ ) } ${if langAda then " --enable-libada" else ""} - ${if targetPlatform == hostPlatform && stdenv.isi686 then "--with-arch=i686" else ""} + ${if targetplatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""} ${if targetPlatform != hostPlatform then crossConfigureFlags else ""} --target=${targetPlatform.config} ''; diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index c057624398b3..de9d3165b55e 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, noSysDirs , langC ? true, langCC ? true, langFortran ? false -, langObjC ? stdenv.isDarwin -, langObjCpp ? stdenv.isDarwin +, langObjC ? targetPlatform.isDarwin +, langObjCpp ? targetPlatform.isDarwin , langJava ? false , langAda ? false , langVhdl ? false @@ -48,7 +48,7 @@ assert cloog != null -> isl != null; assert libelf != null -> zlib != null; # Make sure we get GNU sed. -assert stdenv.isDarwin -> gnused != null; +assert hostPlatform.isDarwin -> gnused != null; # The go frontend is written in c++ assert langGo -> langCC; @@ -71,7 +71,7 @@ let version = "4.8.5"; # target libraries and tools. ++ optional langAda ../gnat-cflags.patch ++ optional langFortran ../gfortran-driving.patch - ++ optional stdenv.isDarwin ../gfortran-darwin-NXConstStr.patch; + ++ optional hostPlatform.isDarwin ../gfortran-darwin-NXConstStr.patch; javaEcj = fetchurl { # The `$(top_srcdir)/ecj.jar' file is automatically picked up at @@ -197,7 +197,7 @@ let version = "4.8.5"; stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else ""; - bootstrap = targetPlatform == hostPlatform && !stdenv.isArm && !stdenv.isMips; + bootstrap = targetPlatform == hostPlatform && !hostPlatform.isArm && !hostPlatform.isMips; in @@ -225,7 +225,7 @@ stdenv.mkDerivation ({ libc_dev = stdenv.cc.libc_dev; postPatch = - if (stdenv.isHurd + if (hostPlatform.isHurd || (libcCross != null # e.g., building `gcc.crossDrv' && libcCross ? crossConfig && libcCross.crossConfig == "i586-pc-gnu") @@ -297,11 +297,11 @@ stdenv.mkDerivation ({ # The builder relies on GNU sed (for instance, Darwin's `sed' fails with # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional stdenv.isDarwin gnused) + ++ (optional hostPlatform.isDarwin gnused) ; - preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) '' + preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET" export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET" @@ -311,7 +311,7 @@ stdenv.mkDerivation ({ dontDisableStatic = true; configureFlags = " - ${if stdenv.isSunOS then + ${if hostPlatform.isSunOS then " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " + # On Illumos/Solaris GNU as is preferred " --with-gnu-as --without-gnu-ld " @@ -357,7 +357,7 @@ stdenv.mkDerivation ({ ) } ${if targetPlatform == hostPlatform - then if stdenv.isDarwin + then if hostPlatform.isDarwin then " --with-native-system-header-dir=${darwin.usr-include}" else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include" else ""} diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 3469710f9916..c5bebdf33003 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, noSysDirs , langC ? true, langCC ? true, langFortran ? false -, langObjC ? stdenv.isDarwin -, langObjCpp ? stdenv.isDarwin +, langObjC ? targetPlatform.isDarwin +, langObjCpp ? targetPlatform.isDarwin , langJava ? false , langAda ? false , langVhdl ? false @@ -48,7 +48,7 @@ assert cloog != null -> isl != null; assert libelf != null -> zlib != null; # Make sure we get GNU sed. -assert stdenv.isDarwin -> gnused != null; +assert hostPlatform.isDarwin -> gnused != null; # The go frontend is written in c++ assert langGo -> langCC; @@ -73,7 +73,7 @@ let version = "4.9.4"; ++ optional langAda ../gnat-cflags.patch ++ optional langFortran ../gfortran-driving.patch # The NXConstStr.patch can be removed at 4.9.4 - ++ optional stdenv.isDarwin ../gfortran-darwin-NXConstStr.patch; + ++ optional hostPlatform.isDarwin ../gfortran-darwin-NXConstStr.patch; javaEcj = fetchurl { # The `$(top_srcdir)/ecj.jar' file is automatically picked up at @@ -229,7 +229,7 @@ stdenv.mkDerivation ({ libc_dev = stdenv.cc.libc_dev; postPatch = - if (stdenv.isHurd + if (hostPlatform.isHurd || (libcCross != null # e.g., building `gcc.crossDrv' && libcCross ? crossConfig && libcCross.crossConfig == "i586-pc-gnu") @@ -301,10 +301,10 @@ stdenv.mkDerivation ({ # The builder relies on GNU sed (for instance, Darwin's `sed' fails with # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional stdenv.isDarwin gnused) + ++ (optional hostPlatform.isDarwin gnused) ; - preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) '' + preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' sed -i -e "s/-lrt//g" libstdc++-v3/configure export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET" @@ -319,7 +319,7 @@ stdenv.mkDerivation ({ dontDisableStatic = true; configureFlags = " - ${if stdenv.isSunOS then + ${if hostPlatform.isSunOS then " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " + # On Illumos/Solaris GNU as is preferred " --with-gnu-as --without-gnu-ld " @@ -363,7 +363,7 @@ stdenv.mkDerivation ({ ) } ${if targetPlatform == hostPlatform - then if stdenv.isDarwin + then if hostPlatform.isDarwin then " --with-native-system-header-dir=${darwin.usr-include}" else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include" else ""} diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 2569b8c5dc7a..b4a74300d366 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, noSysDirs , langC ? true, langCC ? true, langFortran ? false -, langObjC ? stdenv.isDarwin -, langObjCpp ? stdenv.isDarwin +, langObjC ? targetPlatform.isDarwin +, langObjCpp ? targetPlatform.isDarwin , langJava ? false , langAda ? false , langVhdl ? false @@ -47,10 +47,10 @@ assert langVhdl -> gnat != null; assert libelf != null -> zlib != null; # Make sure we get GNU sed. -assert stdenv.isDarwin -> gnused != null; +assert hostPlatform.isDarwin -> gnused != null; # Need c++filt on darwin -assert stdenv.isDarwin -> binutils != null; +assert hostPlatform.isDarwin -> binutils != null; # The go frontend is written in c++ assert langGo -> langCC; @@ -234,7 +234,7 @@ stdenv.mkDerivation ({ # This should kill all the stdinc frameworks that gcc and friends like to # insert into default search paths. - prePatch = stdenv.lib.optionalString stdenv.isDarwin '' + prePatch = stdenv.lib.optionalString hostPlatform.isDarwin '' substituteInPlace gcc/config/darwin-c.c \ --replace 'if (stdinc)' 'if (0)' @@ -246,7 +246,7 @@ stdenv.mkDerivation ({ ''; postPatch = - if (stdenv.isHurd + if (hostPlatform.isHurd || (libcCross != null # e.g., building `gcc.crossDrv' && libcCross ? crossConfig && libcCross.crossConfig == "i586-pc-gnu") @@ -317,13 +317,13 @@ stdenv.mkDerivation ({ # The builder relies on GNU sed (for instance, Darwin's `sed' fails with # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional stdenv.isDarwin gnused) - ++ (optional stdenv.isDarwin binutils) + ++ (optional hostPlatform.isDarwin gnused) + ++ (optional hostPlatform.isDarwin binutils) ; - NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-lm -ldl"; + NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl"; - preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) '' + preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET" export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET" @@ -333,7 +333,7 @@ stdenv.mkDerivation ({ dontDisableStatic = true; configureFlags = " - ${if stdenv.isSunOS then + ${if hostPlatform.isSunOS then " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " + # On Illumos/Solaris GNU as is preferred " --with-gnu-as --without-gnu-ld " @@ -378,7 +378,7 @@ stdenv.mkDerivation ({ ) } ${if targetPlatform == hostPlatform - then if stdenv.isDarwin + then if hostPlatform.isDarwin then " --with-native-system-header-dir=${darwin.usr-include}" else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include" else ""} diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 8086bfb24df6..057acf9794e7 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, noSysDirs , langC ? true, langCC ? true, langFortran ? false -, langObjC ? stdenv.isDarwin -, langObjCpp ? stdenv.isDarwin +, langObjC ? targetPlatform.isDarwin +, langObjCpp ? targetPlatform.isDarwin , langJava ? false , langAda ? false , langVhdl ? false @@ -47,10 +47,10 @@ assert langVhdl -> gnat != null; assert libelf != null -> zlib != null; # Make sure we get GNU sed. -assert stdenv.isDarwin -> gnused != null; +assert hostPlatform.isDarwin -> gnused != null; # Need c++filt on darwin -assert stdenv.isDarwin -> binutils != null; +assert hostPlatform.isDarwin -> binutils != null; # The go frontend is written in c++ assert langGo -> langCC; @@ -73,7 +73,7 @@ let version = "6.3.0"; # target libraries and tools. ++ optional langAda ../gnat-cflags.patch ++ optional langFortran ../gfortran-driving.patch - ++ optional stdenv.isDarwin ./darwin-const-correct.patch; # Kill this after 6.3.0 + ++ optional hostPlatform.isDarwin ./darwin-const-correct.patch; # Kill this after 6.3.0 javaEcj = fetchurl { # The `$(top_srcdir)/ecj.jar' file is automatically picked up at @@ -228,7 +228,7 @@ stdenv.mkDerivation ({ hardeningDisable = [ "format" ]; postPatch = - if (stdenv.isHurd + if (hostPlatform.isHurd || (libcCross != null # e.g., building `gcc.crossDrv' && libcCross ? crossConfig && libcCross.crossConfig == "i586-pc-gnu") @@ -299,13 +299,13 @@ stdenv.mkDerivation ({ # The builder relies on GNU sed (for instance, Darwin's `sed' fails with # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional stdenv.isDarwin gnused) - ++ (optional stdenv.isDarwin binutils) + ++ (optional hostPlatform.isDarwin gnused) + ++ (optional hostPlatform.isDarwin binutils) ; - NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-lm -ldl"; + NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl"; - preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) '' + preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET" export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET" @@ -315,7 +315,7 @@ stdenv.mkDerivation ({ dontDisableStatic = true; configureFlags = " - ${if stdenv.isSunOS then + ${if hostPlatform.isSunOS then " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " + # On Illumos/Solaris GNU as is preferred " --with-gnu-as --without-gnu-ld " @@ -360,7 +360,7 @@ stdenv.mkDerivation ({ ) } ${if targetPlatform == hostPlatform - then if stdenv.isDarwin + then if hostPlatform.isDarwin then " --with-native-system-header-dir=${darwin.usr-include}" else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include" else ""} diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix index 33a202fdb98b..bb2c9d8a5c09 100644 --- a/pkgs/development/compilers/gcc/snapshot/default.nix +++ b/pkgs/development/compilers/gcc/snapshot/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, noSysDirs , langC ? true, langCC ? true, langFortran ? false -, langObjC ? stdenv.isDarwin -, langObjCpp ? stdenv.isDarwin +, langObjC ? targetPlatform.isDarwin +, langObjCpp ? targetPlatform.isDarwin , langJava ? false , langAda ? false , langVhdl ? false @@ -48,10 +48,10 @@ assert langVhdl -> gnat != null; assert libelf != null -> zlib != null; # Make sure we get GNU sed. -assert stdenv.isDarwin -> gnused != null; +assert hostPlatform.isDarwin -> gnused != null; # Need c++filt on darwin -assert stdenv.isDarwin -> binutils != null; +assert hostPlatform.isDarwin -> binutils != null; # The go frontend is written in c++ assert langGo -> langCC; @@ -229,7 +229,7 @@ stdenv.mkDerivation ({ hardeningDisable = [ "format" ]; postPatch = - if (stdenv.isHurd + if (hostPlatform.isHurd || (libcCross != null # e.g., building `gcc.crossDrv' && libcCross ? crossConfig && libcCross.crossConfig == "i586-pc-gnu") @@ -300,13 +300,13 @@ stdenv.mkDerivation ({ # The builder relies on GNU sed (for instance, Darwin's `sed' fails with # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. - ++ (optional stdenv.isDarwin gnused) - ++ (optional stdenv.isDarwin binutils) + ++ (optional hostPlatform.isDarwin gnused) + ++ (optional hostPlatform.isDarwin binutils) ; - NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-lm -ldl"; + NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl"; - preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) '' + preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET" export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET" @@ -316,7 +316,7 @@ stdenv.mkDerivation ({ dontDisableStatic = true; configureFlags = " - ${if stdenv.isSunOS then + ${if hostPlatform.isSunOS then " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " + # On Illumos/Solaris GNU as is preferred " --with-gnu-as --without-gnu-ld " @@ -361,7 +361,7 @@ stdenv.mkDerivation ({ ) } ${if targetPlatform == hostPlatform - then if stdenv.isDarwin + then if hostPlatform.isDarwin then " --with-native-system-header-dir=${darwin.usr-include}" else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include" else ""} -- cgit 1.4.1