diff options
author | Naveen Saini <naveen.kumar.saini@intel.com> | 2023-06-21 11:12:34 +0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2023-06-22 07:54:31 -0700 |
commit | af4dcba009ba98250315520f3003fde4ee164cce (patch) | |
tree | f4368570d33e68c7566fbb8f8cb17c00df573b45 | |
parent | 788bae27ae1ac5a2d6b940877fff5459dbfdd263 (diff) | |
download | meta-clang-af4dcba009ba98250315520f3003fde4ee164cce.tar.gz |
llvm-config: fix script for multilib build
From multilib build:
| CMake Error at cmake/FindLLVM.cmake:79 (message):
| Failed running
| tmp-glibc/work/x86-64-v3-oe-linux/ispc/1.20.0-r0/recipe-sysroot/usr/bin/crossscripts/llvm-config;--libfiles;engine;ipo;bitreader;bitwriter;instrumentation;linker;option;frontendopenmp;windowsdriver;x86
| Call Stack (most recent call first):
| cmake/FindLLVM.cmake:116 (run_llvm_config)
| CMakeLists.txt:377 (get_llvm_libfiles)
Currently hardcoded to /lib, which causing multilib build failure.
An easy solution could be set and export YOCTO_ALTERNATE_LIBDIR to $baselib
in recipe, but it would require to add this in all affected recipes.
Other approach is to handle in llvm-config script itself.
Unfortunately $baselib is not available in env for the
llvm-config script, so extracting baselib value from $base_libdir
as its being exported and available in env and then set YOCTO_ALTERNATE_LIBDIR accordingly.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
-rw-r--r-- | recipes-devtools/clang/clang/llvm-config | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/recipes-devtools/clang/clang/llvm-config b/recipes-devtools/clang/clang/llvm-config index a9876a2..bfdc61a 100644 --- a/recipes-devtools/clang/clang/llvm-config +++ b/recipes-devtools/clang/clang/llvm-config | |||
@@ -8,7 +8,11 @@ | |||
8 | SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" | 8 | SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" |
9 | NEXT_LLVM_CONFIG="$(which -a llvm-config | sed -n 2p)" | 9 | NEXT_LLVM_CONFIG="$(which -a llvm-config | sed -n 2p)" |
10 | export YOCTO_ALTERNATE_EXE_PATH="${YOCTO_ALTERNATE_EXE_PATH:="$(readlink -f "$SCRIPT_DIR/../llvm-config")"}" | 10 | export YOCTO_ALTERNATE_EXE_PATH="${YOCTO_ALTERNATE_EXE_PATH:="$(readlink -f "$SCRIPT_DIR/../llvm-config")"}" |
11 | export YOCTO_ALTERNATE_LIBDIR="${YOCTO_ALTERNATE_LIBDIR:="/lib"}" | 11 | if [ -n "$( echo $base_libdir | sed -n '/lib64/p')" ]; then |
12 | export YOCTO_ALTERNATE_LIBDIR="${YOCTO_ALTERNATE_LIBDIR:="/lib64"}" | ||
13 | else | ||
14 | export YOCTO_ALTERNATE_LIBDIR="${YOCTO_ALTERNATE_LIBDIR:="/lib"}" | ||
15 | fi | ||
12 | if [[ $# == 0 ]]; then | 16 | if [[ $# == 0 ]]; then |
13 | exec "$NEXT_LLVM_CONFIG" | 17 | exec "$NEXT_LLVM_CONFIG" |
14 | fi | 18 | fi |