package/clang: default linker to the cross GNU
authorMatt Weber <matthew.weber@rockwellcollins.com>
Sun, 21 Oct 2018 12:21:35 +0000 (07:21 -0500)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 21 Oct 2018 14:28:50 +0000 (16:28 +0200)
By default clang is assuming the system linker /usr/bin/ld.  This
patchset updates the default to point at the cross toolchain ld.

Previously clang had been used on target only, this update is
required for host clang/clang++ to be used as a frontend for
cross-compiling.

Example build command:

output/host/bin/clang++ -mcpu=cortex-a53  \
  --sysroot /<abs path>/output/staging/ \
  -B /<abs path>/output/host/opt/ext-toolchain/ \
  foobar.cc -o foobar

Cc: Valentin Korenblit <valentinkorenblit@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/clang/clang.mk

index 52e0b98a76284f3ef926f2c61dad248558fb99d9..f9d4ae37132e92eab6ddfe959d64fb3ad7a423fa 100644 (file)
@@ -49,7 +49,8 @@ CLANG_CONF_OPTS += \
        -DCLANG_INCLUDE_DOCS=OFF \
        -DCLANG_INCLUDE_TESTS=OFF
 
-HOST_CLANG_CONF_OPTS += -DLLVM_CONFIG:FILEPATH=$(HOST_DIR)/bin/llvm-config
+HOST_CLANG_CONF_OPTS += -DLLVM_CONFIG:FILEPATH=$(HOST_DIR)/bin/llvm-config \
+       -DCLANG_DEFAULT_LINKER=$(TARGET_LD)
 CLANG_CONF_OPTS += -DLLVM_CONFIG:FILEPATH=$(STAGING_DIR)/usr/bin/llvm-config \
        -DCLANG_TABLEGEN:FILEPATH=$(HOST_DIR)/bin/clang-tblgen \
        -DLLVM_TABLEGEN_EXE:FILEPATH=$(HOST_DIR)/bin/llvm-tblgen