diff options
| author | Michael Davis <michael.davis@essvote.com> | 2019-12-03 10:31:02 -0600 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2019-12-06 08:30:03 -0800 |
| commit | 1598cc45795cbcab831270e4286aef113faa1325 (patch) | |
| tree | 3f2ca876ef336f36973cfef5a683773aae861226 | |
| parent | 5ffaf60c7b7c555d19e6ea8dcb99b32f1b2ea59f (diff) | |
| download | meta-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.bb | 13 | ||||
| -rw-r--r-- | recipes-devtools/clang/llvm-common/llvm-config | 5 |
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 | ||
| 166 | do_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\ | ||
| 172 | if(DEFINED ENV{YOCTO_ALTERNATE_EXE_PATH})\n\ | ||
| 173 | execute_process(COMMAND \"llvm-config\" \"--bindir\" OUTPUT_VARIABLE _IMPORT_PREFIX_BIN OUTPUT_STRIP_TRAILING_WHITESPACE)\n\ | ||
| 174 | else()\n\ | ||
| 175 | set(_IMPORT_PREFIX_BINARY \"\${_IMPORT_PREFIX}/bin\")\n\ | ||
| 176 | endif()\n" ${D}${libdir}/cmake/llvm/LLVMExports-release.cmake | ||
| 177 | } | ||
| 178 | |||
| 166 | do_install_append_class-native () { | 179 | do_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" $@ |
| 19 | fi | 19 | fi |
| 20 | 20 | ||
| 21 | if [[ $1 == "--bindir" ]]; then | ||
| 22 | unset YOCTO_ALTERNATE_EXE_PATH | ||
| 23 | exec "$NEXT_LLVM_CONFIG" $@ | ||
| 24 | fi | ||
| 25 | |||
| 21 | for arg in "$@"; do | 26 | for arg in "$@"; do |
| 22 | case "$arg" in | 27 | case "$arg" in |
| 23 | --cppflags) | 28 | --cppflags) |
