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 {
|
sub runConfig {
|
||||||
|
|
||||||
# Run `make config'.
|
# 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
|
# Parse the output, look for questions and then send an
|
||||||
# appropriate answer.
|
# appropriate answer.
|
||||||
|
@ -131,12 +131,16 @@ let
|
|||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
export buildRoot="''${buildRoot:-build}"
|
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.
|
# Get a basic config file for later refinement with $generateConfig.
|
||||||
make -C . O="$buildRoot" $kernelBaseConfig \
|
make -C . O="$buildRoot" $kernelBaseConfig \
|
||||||
ARCH=$kernelArch \
|
ARCH=$kernelArch \
|
||||||
HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \
|
HOSTCC=$HOSTCC HOSTCXX=$HOSTCXX HOSTAR=$HOSTAR HOSTLD=$HOSTLD \
|
||||||
HOSTCXX=${buildPackages.stdenv.cc.targetPrefix}g++
|
CC=$CC OBJCOPY=$OBJCOPY OBJDUMP=$OBJDUMP READELF=$READELF
|
||||||
|
|
||||||
# Create the config file.
|
# Create the config file.
|
||||||
echo "generating kernel configuration..."
|
echo "generating kernel configuration..."
|
||||||
|
Loading…
x
Reference in New Issue
Block a user