• Daniel Díaz's avatar
    tools build feature: Quote CC and CXX for their arguments · fa5c8931
    Daniel Díaz authored
    When using a cross-compilation environment, such as OpenEmbedded,
    the CC an CXX variables are set to something more than just a
    command: there are arguments (such as --sysroot) that need to be
    passed on to the compiler so that the right set of headers and
    libraries are used.
    
    For the particular case that our systems detected, CC is set to
    the following:
    
      export CC="aarch64-linaro-linux-gcc  --sysroot=/oe/build/tmp/work/machine/perf/1.0-r9/recipe-sysroot"
    
    Without quotes, detection is as follows:
    
      Auto-detecting system features:
      ...                         dwarf: [ OFF ]
      ...            dwarf_getlocations: [ OFF ]
      ...                         glibc: [ OFF ]
      ...                          gtk2: [ OFF ]
      ...                        libbfd: [ OFF ]
      ...                        libcap: [ OFF ]
      ...                        libelf: [ OFF ]
      ...                       libnuma: [ OFF ]
      ...        numa_num_possible_cpus: [ OFF ]
      ...                       libperl: [ OFF ]
      ...                     libpython: [ OFF ]
      ...                     libcrypto: [ OFF ]
      ...                     libunwind: [ OFF ]
      ...            libdw-dwarf-unwind: [ OFF ]
      ...                          zlib: [ OFF ]
      ...                          lzma: [ OFF ]
      ...                     get_cpuid: [ OFF ]
      ...                           bpf: [ OFF ]
      ...                        libaio: [ OFF ]
      ...                       libzstd: [ OFF ]
      ...        disassembler-four-args: [ OFF ]
    
      Makefile.config:414: *** No gnu/libc-version.h found, please install glibc-dev[el].  Stop.
      Makefile.perf:230: recipe for target 'sub-make' failed
      make[1]: *** [sub-make] Error 2
      Makefile:69: recipe for target 'all' failed
      make: *** [all] Error 2
    
    With CC and CXX quoted, some of those features are now detected.
    
    Fixes: e3232c2f ("tools build feature: Use CC and CXX from parent")
    Signed-off-by: default avatarDaniel Díaz <daniel.diaz@linaro.org>
    Reviewed-by: default avatarThomas Hebb <tommyhebb@gmail.com>
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: Andrii Nakryiko <andriin@fb.com>
    Cc: Daniel Borkmann <daniel@iogearbox.net>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: John Fastabend <john.fastabend@gmail.com>
    Cc: KP Singh <kpsingh@chromium.org>
    Cc: Martin KaFai Lau <kafai@fb.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Song Liu <songliubraving@fb.com>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Yonghong Song <yhs@fb.com>
    Link: http://lore.kernel.org/lkml/20200812221518.2869003-1-daniel.diaz@linaro.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    fa5c8931
Makefile.feature 8.16 KB