linux: improve cross compilation with clang
set HOST* variables for host build tools * do not assume the host compiler is gcc * pass all build tools to make
This commit is contained in:
parent
50dd350c4c
commit
270ee17d41
@ -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.
|
||||
|
@ -131,12 +131,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..."
|
||||
|
Loading…
Reference in New Issue
Block a user