mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
clang: tell cross-builds of clang how to build natively
If we pass CROSS_TOOLCHAIN_FLAGS_NATIVE to all the builds, instead of just nativesdk, then clang can correctly build its own native tools as needed. This means we can stop manually installing clang-tidy-confusable-chars-gen as clang-tidy will build it. We (currently) still build the tblgen binaries once as they're used in several recipes so there's likely value in building those once. Also consolidate the LLVM_TABLEGEN variables as they're not specific to a particular class. (From OE-Core rev: 36b42975b975b4a5e3904e555e5ee00aba9c2f2b) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
c22230e15f
commit
6863eadeaf
@@ -120,14 +120,13 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
|
||||
-DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \
|
||||
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \
|
||||
-DLLVM_NATIVE_TOOL_DIR=${STAGING_BINDIR_NATIVE} \
|
||||
-DLLVM_HEADERS_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-min-tblgen \
|
||||
-DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
|
||||
-DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
|
||||
-DLLVM_INCLUDE_TESTS=OFF \
|
||||
-DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
|
||||
"
|
||||
|
||||
EXTRA_OECMAKE:append:class-nativesdk = "\
|
||||
-DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
|
||||
-DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
|
||||
-DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${STAGING_BINDIR_NATIVE}/clang-tidy-confusable-chars-gen \
|
||||
-DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
|
||||
-DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
|
||||
-DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
|
||||
@@ -205,7 +204,6 @@ do_install:append:class-native () {
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'clangd', 'true', 'false', d)}; then
|
||||
install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clangd-indexer ${D}${bindir}/clangd-indexer
|
||||
fi
|
||||
install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tidy-confusable-chars-gen ${D}${bindir}/clang-tidy-confusable-chars-gen
|
||||
|
||||
for f in `find ${D}${bindir} -executable -type f -not -type l`; do
|
||||
test -n "`file -b $f|grep -i ELF`" && ${STRIP} $f
|
||||
@@ -225,7 +223,6 @@ do_install:append:class-nativesdk () {
|
||||
install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clangd-indexer ${D}${bindir}/clangd-indexer
|
||||
fi
|
||||
install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tblgen ${D}${bindir}/clang-tblgen
|
||||
install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tidy-confusable-chars-gen ${D}${bindir}/clang-tidy-confusable-chars-gen
|
||||
for f in `find ${D}${bindir} -executable -type f -not -type l`; do
|
||||
test -n "`file -b $f|grep -i ELF`" && ${STRIP} $f
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user