[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 3/4] build: allow picking the env values for compiler variables
Don't force the usage of the hardcoded compiler values if those are already set on the environment. This allows the Xen build system to correctly pick CC/CXX values present on the environment, and fixes the usage of those by the Gitlab CI test system. Note that without this fix the Xen build system will completely ignore any CC or CXX values set on the environment, and the only way to pass a different CC or CXX is to overwrite it on the make command line. Due to this change, Travis CI needs to be updated in order to pass a CC and CXX that also contains the CROSS_COMPILE path, since Xen will no longer overwrite the CC or CXX value if those are set on the environment. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Julien Grall <julien.grall@xxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx> Cc: Tim Deegan <tim@xxxxxxx> Cc: Wei Liu <wl@xxxxxxx> --- config/StdGNU.mk | 35 +++++++++++++++++++---------------- scripts/travis-build | 8 ++++++++ 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/config/StdGNU.mk b/config/StdGNU.mk index 7a6159021b..b3072f5b13 100644 --- a/config/StdGNU.mk +++ b/config/StdGNU.mk @@ -1,28 +1,31 @@ # Use Clang/LLVM instead of GCC? clang ?= n -# If we are not cross-compiling, default HOSTC{C/XX} to C{C/XX} -ifeq ($(XEN_TARGET_ARCH), $(XEN_COMPILE_ARCH)) -HOSTCC ?= $(CC) -HOSTCXX ?= $(CXX) -endif - AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld ifeq ($(clang),y) gcc := n -CC = $(CROSS_COMPILE)clang -CXX = $(CROSS_COMPILE)clang++ -LD_LTO = $(CROSS_COMPILE)llvm-ld -HOSTCC ?= clang -HOSTCXX ?= clang++ +DEF_CC = clang +DEF_CXX = clang++ +LD_LTO ?= $(CROSS_COMPILE)llvm-ld else gcc := y -CC = $(CROSS_COMPILE)gcc -CXX = $(CROSS_COMPILE)g++ -LD_LTO = $(CROSS_COMPILE)ld -HOSTCC ?= gcc -HOSTCXX ?= g++ +DEF_CC = gcc +DEF_CXX = g++ +LD_LTO ?= $(CROSS_COMPILE)ld +endif + +CC ?= $(CROSS_COMPILE)$(DEF_CC) +CXX ?= $(CROSS_COMPILE)$(DEF_CXX) + +# If we are not cross-compiling, default HOSTC{C/XX} to C{C/XX} +# else use the default values if unset +ifeq ($(XEN_TARGET_ARCH), $(XEN_COMPILE_ARCH)) +HOSTCC ?= $(CC) +HOSTCXX ?= $(CXX) +else +HOSTCC ?= $(DEF_CC) +HOSTCXX ?= $(DEF_CXX) endif CPP = $(CC) -E diff --git a/scripts/travis-build b/scripts/travis-build index 0cb15a89e4..a264e286b2 100755 --- a/scripts/travis-build +++ b/scripts/travis-build @@ -1,6 +1,14 @@ #!/bin/bash -ex +# Set HOST{CC/CXX} in case we are cross building +export HOSTCC=${CC} +export HOSTCXX=${CXX} +# Prefix environment CC/CXX with CROSS_COMPILE if present +export CC=${CROSS_COMPILE}${CC} +export CXX=${CROSS_COMPILE}${CXX} + $CC --version +[[ "${CC}" != "${HOSTCC}" ]] && $HOSTCC --version # random config or default config if [[ "${RANDCONFIG}" == "y" ]]; then -- 2.22.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |