tools build: Use the same CC for feature detection and actual build
authorArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 2 Mar 2017 19:00:26 +0000 (16:00 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 3 Mar 2017 22:07:19 +0000 (19:07 -0300)
When build with: 'make CC=clang' we were not using that CC to do
feature detection, which resulted in features being detected with gcc
and then the actual tools being built with clang.

Most of the time these compilers are compatible enough, so no
problem was being noticed.

As soon as a system with an old enough clang, one that hasn't
the cpuid.h header is used, and a gcc with it, the "get_cpuid" feature
will be found available but then code that will use can't be compiled.

Noticed with this combination:

  / $ gcc --version | head -1
  gcc (Alpine 6.3.0) 6.3.0
  / $ clang --version | head -1
  clang version 3.8.1 (tags/RELEASE_381/final)
  / $ cat /etc/alpine-release
  3.5.0
  / $

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-60q18nvlvgpyfv7e2qqgx4ou@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/build/feature/Makefile

index ab1e2bbc2e96f3f9ec6d25b149ff2eb4953eea1d..09c9626ea666c9e974cbc8b6643bcce179ef1993 100644 (file)
@@ -53,8 +53,8 @@ FILES=                                          \
 
 FILES := $(addprefix $(OUTPUT),$(FILES))
 
-CC := $(CROSS_COMPILE)gcc -MD
-CXX := $(CROSS_COMPILE)g++ -MD
+CC ?= $(CROSS_COMPILE)gcc -MD
+CXX ?= $(CROSS_COMPILE)g++ -MD
 PKG_CONFIG := $(CROSS_COMPILE)pkg-config
 LLVM_CONFIG ?= llvm-config