summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Davis <michael.davis@essvote.com>2019-12-03 10:31:02 -0600
committerKhem Raj <raj.khem@gmail.com>2019-12-06 08:30:03 -0800
commit1598cc45795cbcab831270e4286aef113faa1325 (patch)
tree3f2ca876ef336f36973cfef5a683773aae861226
parent5ffaf60c7b7c555d19e6ea8dcb99b32f1b2ea59f (diff)
downloadmeta-clang-1598cc45795cbcab831270e4286aef113faa1325.tar.gz
clang: Fix cmake exports not finding native binaries Issue #230
Signed-off-by: Michael Davis <michael.davis@essvote.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-devtools/clang/clang_git.bb13
-rw-r--r--recipes-devtools/clang/llvm-common/llvm-config5
2 files changed, 18 insertions, 0 deletions
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() {
163 DESTDIR=${D} ninja ${PARALLEL_MAKE} ${INSTALLTARGET} 163 DESTDIR=${D} ninja ${PARALLEL_MAKE} ${INSTALLTARGET}
164} 164}
165 165
166do_install_append_class-target () {
167 # Allow bin path to change based on YOCTO_ALTERNATE_EXE_PATH
168 sed -i 's;${_IMPORT_PREFIX}/bin;${_IMPORT_PREFIX_BIN};g' ${D}${libdir}/cmake/llvm/LLVMExports-release.cmake
169
170 # Insert function to populate Import Variables
171 sed -i "4i\
172if(DEFINED ENV{YOCTO_ALTERNATE_EXE_PATH})\n\
173 execute_process(COMMAND \"llvm-config\" \"--bindir\" OUTPUT_VARIABLE _IMPORT_PREFIX_BIN OUTPUT_STRIP_TRAILING_WHITESPACE)\n\
174else()\n\
175 set(_IMPORT_PREFIX_BINARY \"\${_IMPORT_PREFIX}/bin\")\n\
176endif()\n" ${D}${libdir}/cmake/llvm/LLVMExports-release.cmake
177}
178
166do_install_append_class-native () { 179do_install_append_class-native () {
167 install -Dm 0755 ${B}/bin/clang-tblgen ${D}${bindir}/clang-tblgen 180 install -Dm 0755 ${B}/bin/clang-tblgen ${D}${bindir}/clang-tblgen
168 for f in `find ${D}${bindir} -executable -type f -not -type l`; do 181 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
18 exec "$NEXT_LLVM_CONFIG" $@ 18 exec "$NEXT_LLVM_CONFIG" $@
19fi 19fi
20 20
21if [[ $1 == "--bindir" ]]; then
22 unset YOCTO_ALTERNATE_EXE_PATH
23 exec "$NEXT_LLVM_CONFIG" $@
24fi
25
21for arg in "$@"; do 26for arg in "$@"; do
22 case "$arg" in 27 case "$arg" in
23 --cppflags) 28 --cppflags)