From 1598cc45795cbcab831270e4286aef113faa1325 Mon Sep 17 00:00:00 2001 From: Michael Davis Date: Tue, 3 Dec 2019 10:31:02 -0600 Subject: clang: Fix cmake exports not finding native binaries Issue #230 Signed-off-by: Michael Davis Signed-off-by: Khem Raj --- recipes-devtools/clang/clang_git.bb | 13 +++++++++++++ recipes-devtools/clang/llvm-common/llvm-config | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index 2ac2d39..a5009e5 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb @@ -163,6 +163,19 @@ do_install() { DESTDIR=${D} ninja ${PARALLEL_MAKE} ${INSTALLTARGET} } +do_install_append_class-target () { + # Allow bin path to change based on YOCTO_ALTERNATE_EXE_PATH + sed -i 's;${_IMPORT_PREFIX}/bin;${_IMPORT_PREFIX_BIN};g' ${D}${libdir}/cmake/llvm/LLVMExports-release.cmake + + # Insert function to populate Import Variables + sed -i "4i\ +if(DEFINED ENV{YOCTO_ALTERNATE_EXE_PATH})\n\ + execute_process(COMMAND \"llvm-config\" \"--bindir\" OUTPUT_VARIABLE _IMPORT_PREFIX_BIN OUTPUT_STRIP_TRAILING_WHITESPACE)\n\ +else()\n\ + set(_IMPORT_PREFIX_BINARY \"\${_IMPORT_PREFIX}/bin\")\n\ +endif()\n" ${D}${libdir}/cmake/llvm/LLVMExports-release.cmake +} + do_install_append_class-native () { install -Dm 0755 ${B}/bin/clang-tblgen ${D}${bindir}/clang-tblgen for f in `find ${D}${bindir} -executable -type f -not -type l`; do diff --git a/recipes-devtools/clang/llvm-common/llvm-config b/recipes-devtools/clang/llvm-common/llvm-config index 4462896..a139514 100644 --- a/recipes-devtools/clang/llvm-common/llvm-config +++ b/recipes-devtools/clang/llvm-common/llvm-config @@ -18,6 +18,11 @@ if [[ $1 == "--libs" ]]; then exec "$NEXT_LLVM_CONFIG" $@ fi +if [[ $1 == "--bindir" ]]; then + unset YOCTO_ALTERNATE_EXE_PATH + exec "$NEXT_LLVM_CONFIG" $@ +fi + for arg in "$@"; do case "$arg" in --cppflags) -- cgit v1.2.3-54-g00ecf