add is{GNU,Clang} attrs to cc-wrapper.

These will be more pleasant to use than the existing

    (cc.cc.isClang or false)

nonsense we currently do.
This commit is contained in:
Eric Seidel 2015-05-11 14:30:13 -07:00
parent ea0c877858
commit 395829686d
5 changed files with 17 additions and 7 deletions

View File

@ -10,6 +10,7 @@
, zlib ? null, extraPackages ? []
, dyld ? null # TODO: should this be a setup-hook on dyld?
, setupHook ? ./setup-hook.sh
, isGNU ? false, isClang ? false
}:
with stdenv.lib;
@ -41,7 +42,7 @@ stdenv.mkDerivation {
# The wrapper scripts use 'cat', so we may need coreutils.
coreutils = if nativeTools then null else coreutils;
passthru = { inherit nativeTools nativeLibc nativePrefix; };
passthru = { inherit nativeTools nativeLibc nativePrefix isGNU isClang; };
buildCommand =
''

View File

@ -90,6 +90,7 @@ rec {
cc = "/usr";
outPath = nativePrefix;
};
isClang = true;
};
};
pkgs = allPackages {
@ -136,6 +137,7 @@ rec {
coreutils = pkgs.coreutils;
shell = "${pkgs.bash}/bin/bash";
extraPackages = [ pkgs.libcxx ];
isClang = true;
};
shell = "${pkgs.bash}/bin/bash";

View File

@ -91,6 +91,7 @@ rec {
nativeTools = false;
nativeLibc = false;
cc = gccPlain;
isGNU = true;
libc = glibc;
inherit binutils coreutils;
name = name;
@ -234,6 +235,7 @@ rec {
gcc = lib.makeOverridable (import ../../build-support/cc-wrapper) {
nativeTools = false;
nativeLibc = false;
isGNU = true;
cc = stage4.stdenv.cc.cc;
libc = stage4.pkgs.glibc;
inherit (stage4.pkgs) binutils coreutils;

View File

@ -20,6 +20,7 @@ import ../generic rec {
inherit stdenv;
binutils = pkgs.binutils;
cc = pkgs.gcc.cc;
isGNU = true;
coreutils = pkgs.coreutils;
shell = pkgs.bash + "/bin/sh";
};

View File

@ -3433,6 +3433,7 @@ let
clangWrapSelf = build: (import ../build-support/cc-wrapper) {
cc = build;
isClang = true;
stdenv = clangStdenv;
libc = glibc;
binutils = binutils;
@ -4479,6 +4480,8 @@ let
nativePrefix = stdenv.cc.nativePrefix or "";
cc = baseCC;
libc = libc;
isGNU = baseCC.isGNU or false;
isClang = baseCC.isClang or false;
inherit stdenv binutils coreutils zlib;
};
@ -4518,6 +4521,7 @@ let
nativePrefix = stdenv.cc.nativePrefix or "";
cc = baseGCC;
libc = glibc;
isGNU = true;
inherit stdenv binutils coreutils zlib;
setupHook = ../build-support/cc-wrapper/setup-hook-stdinc.sh;
};