cc-wrapper, cc-wrapper-old: Simplify shell logic

1. `crossDrv` is now the default so we don't need to worry about that in
   build != host builds.

2. shell is the build time shell, so `wrapCCCross` doesn't need to
   worry, as build == host.

3. `shell.shellPath` will always be appended where useful.

4. Complicated `shell == ""` logic served no purpose.
This commit is contained in:
John Ericson 2017-09-18 21:12:23 -04:00
parent 6d423da7cc
commit 6c74ee68b9
3 changed files with 6 additions and 15 deletions

View File

@ -86,7 +86,8 @@ stdenv.mkDerivation {
preferLocalBuild = true;
inherit cc shell libc_bin libc_dev libc_lib binutils_bin coreutils_bin;
inherit cc libc_bin libc_dev libc_lib binutils_bin coreutils_bin;
shell = getBin shell + shell.shellPath or "";
gnugrep_bin = if nativeTools then "" else gnugrep;
binPrefix = prefix;
@ -384,10 +385,6 @@ stdenv.mkDerivation {
# for substitution in utils.sh
expandResponseParams = "${expand-response-params}/bin/expand-response-params";
crossAttrs = {
shell = shell.crossDrv + shell.crossDrv.shellPath;
};
meta =
let cc_ = if cc != null then cc else {}; in
(if cc_ ? meta then removeAttrs cc.meta ["priority"] else {}) //

View File

@ -6,7 +6,7 @@
# variables so that the compiler and the linker just "work".
{ name ? "", stdenv, lib, nativeTools, nativeLibc, nativePrefix ? ""
, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
, zlib ? null
, hostPlatform, targetPlatform
}:
@ -56,15 +56,9 @@ stdenv.mkDerivation {
langAda = if nativeTools then false else gcc ? langAda && gcc.langAda;
langVhdl = if nativeTools then false else gcc ? langVhdl && gcc.langVhdl;
zlib = if gcc != null && gcc ? langVhdl then zlib else null;
shell = if shell == "" then stdenv.shell else
if builtins.isAttrs shell then (shell + shell.shellPath)
else shell;
shell = shell + shell.shellPath or "";
crossAttrs = {
shell = shell.crossDrv + shell.crossDrv.shellPath;
coreutils = coreutils.crossDrv;
binutils = binutils.crossDrv;
gcc = gcc.crossDrv;
#
# This is not the best way to do this. I think the reference should be
# the style in the gcc-cross-wrapper, but to keep a stable stdenv now I

View File

@ -6230,7 +6230,7 @@ with pkgs;
};
wrapCCCross =
{cc, libc, binutils, shell ? "", name ? "gcc-cross-wrapper"}:
{cc, libc, binutils, name ? "gcc-cross-wrapper"}:
forcedNativePackages.ccWrapperFun {
nativeTools = false;
@ -6240,7 +6240,7 @@ with pkgs;
isGNU = cc.isGNU or false;
isClang = cc.isClang or false;
inherit cc binutils libc shell name;
inherit cc binutils libc name;
};
# prolog