diff options
author | Jörg Thalheim <Mic92@users.noreply.github.com> | 2021-05-11 09:46:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-11 09:46:01 +0100 |
commit | 6d1287860d46af5e1857ea427c86192ddaff929d (patch) | |
tree | fbb6cb8e6c10ff6b0feca18ea524bc8b11e51e41 /pkgs | |
parent | 7982550ac43ffb81dcff7a86d10508409a5737b4 (diff) | |
parent | 270ee17d414469783daccba718a20e31407c6729 (diff) | |
download | nixpkgs-6d1287860d46af5e1857ea427c86192ddaff929d.tar nixpkgs-6d1287860d46af5e1857ea427c86192ddaff929d.tar.gz nixpkgs-6d1287860d46af5e1857ea427c86192ddaff929d.tar.bz2 nixpkgs-6d1287860d46af5e1857ea427c86192ddaff929d.tar.lz nixpkgs-6d1287860d46af5e1857ea427c86192ddaff929d.tar.xz nixpkgs-6d1287860d46af5e1857ea427c86192ddaff929d.tar.zst nixpkgs-6d1287860d46af5e1857ea427c86192ddaff929d.zip |
Merge pull request #113225 from mroi/patch-linux
linux: improve cross compilation with clang
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/os-specific/linux/kernel/generate-config.pl | 2 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/generic.nix | 10 |
2 files changed, 8 insertions, 4 deletions
diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl index 6a2aec809a1..82e1cb66e2b 100644 --- a/pkgs/os-specific/linux/kernel/generate-config.pl +++ b/pkgs/os-specific/linux/kernel/generate-config.pl @@ -40,7 +40,7 @@ close ANSWERS; sub runConfig { # Run `make config'. - my $pid = open2(\*IN, \*OUT, "make -C $ENV{SRC} O=$buildRoot config SHELL=bash ARCH=$ENV{ARCH}"); + my $pid = open2(\*IN, \*OUT, "make -C $ENV{SRC} O=$buildRoot config SHELL=bash ARCH=$ENV{ARCH} CC=$ENV{CC} HOSTCC=$ENV{HOSTCC} HOSTCXX=$ENV{HOSTCXX}"); # Parse the output, look for questions and then send an # appropriate answer. diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 68a1fcdb0e6..b35c84513e6 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -128,12 +128,16 @@ let buildPhase = '' export buildRoot="''${buildRoot:-build}" + export HOSTCC=$CC_FOR_BUILD + export HOSTCXX=$CXX_FOR_BUILD + export HOSTAR=$AR_FOR_BUILD + export HOSTLD=$LD_FOR_BUILD # Get a basic config file for later refinement with $generateConfig. - make -C . O="$buildRoot" $kernelBaseConfig \ + make -C . O="$buildRoot" $kernelBaseConfig \ ARCH=$kernelArch \ - HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \ - HOSTCXX=${buildPackages.stdenv.cc.targetPrefix}g++ + HOSTCC=$HOSTCC HOSTCXX=$HOSTCXX HOSTAR=$HOSTAR HOSTLD=$HOSTLD \ + CC=$CC OBJCOPY=$OBJCOPY OBJDUMP=$OBJDUMP READELF=$READELF # Create the config file. echo "generating kernel configuration..." |