summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHiroshi Hatake <hatake@clear-code.com>2019-12-16 17:41:45 +0900
committerKhem Raj <raj.khem@gmail.com>2019-12-16 09:40:41 -0800
commitbe7a567a8eab50e6a0a10b3409850ddd0d529a6f (patch)
tree0d1cdeec3db628b2d15dc0167a667c79a2b1ef69
parentbfd6f33325d4fe1ae0680d55d0ce5ff95533bbe2 (diff)
downloadmeta-clang-be7a567a8eab50e6a0a10b3409850ddd0d529a6f.tar.gz
Compute LLVM_LIBDIR_SUFFIX correctly on multiarch environment
Co-authored-by: INAJIMA Daisuke <inajima@soum.co.jp>
-rw-r--r--recipes-devtools/clang/clang.inc18
-rw-r--r--recipes-devtools/clang/compiler-rt_git.bb1
-rw-r--r--recipes-devtools/clang/libcxx_git.bb2
3 files changed, 20 insertions, 1 deletions
diff --git a/recipes-devtools/clang/clang.inc b/recipes-devtools/clang/clang.inc
index 4c028b4..b631c0e4 100644
--- a/recipes-devtools/clang/clang.inc
+++ b/recipes-devtools/clang/clang.inc
@@ -18,4 +18,22 @@ CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343"
18LLDMD5SUM = "ae7dc7c027b1fa89b5b013d391d3ee2b" 18LLDMD5SUM = "ae7dc7c027b1fa89b5b013d391d3ee2b"
19LLDBMD5SUM = "2e0d44968471fcde980034dbb826bea9" 19LLDBMD5SUM = "2e0d44968471fcde980034dbb826bea9"
20 20
21def get_libdir_suffix(d, arch_var):
22 import re
23 multilibs = (d.getVar("MULTILIB_VARIANTS") or "").split()
24 if multilibs:
25 a = d.getVar(arch_var, True)
26 if re.match('(i.86|athlon)$', a): return '32'
27 elif re.match('x86.64$', a): return '64'
28 elif re.match('(arm|armbe)$', a): return '32'
29 elif re.match('(aarch64|aarch64_be)$', a): return '64'
30 elif re.match('mips(isa|)32(r6|)(el|)$', a): return '32'
31 elif re.match('mips(isa|)64(r6|)(el|)$', a): return '64'
32 elif re.match('p(pc|owerpc)', a): return '32'
33 elif re.match('p(pc|owerpc)64', a): return '64'
34 else:
35 return ''
36
37LLVM_LIBDIR_SUFFIX="${@get_libdir_suffix(d, 'TARGET_ARCH')}"
38
21require common.inc 39require common.inc
diff --git a/recipes-devtools/clang/compiler-rt_git.bb b/recipes-devtools/clang/compiler-rt_git.bb
index e76a560..f331a07 100644
--- a/recipes-devtools/clang/compiler-rt_git.bb
+++ b/recipes-devtools/clang/compiler-rt_git.bb
@@ -31,6 +31,7 @@ EXTRA_OECMAKE += "-DCOMPILER_RT_STANDALONE_BUILD=OFF \
31 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ 31 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
32 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ 32 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
33 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ 33 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
34 -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \
34 -G Ninja ${S}/llvm \ 35 -G Ninja ${S}/llvm \
35" 36"
36 37
diff --git a/recipes-devtools/clang/libcxx_git.bb b/recipes-devtools/clang/libcxx_git.bb
index 2d530c5..01d9260 100644
--- a/recipes-devtools/clang/libcxx_git.bb
+++ b/recipes-devtools/clang/libcxx_git.bb
@@ -51,7 +51,7 @@ EXTRA_OECMAKE += "\
51 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ 51 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \
52 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ 52 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \
53 -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi;libunwind' \ 53 -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi;libunwind' \
54 -DLLVM_LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ 54 -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \
55 -G Ninja \ 55 -G Ninja \
56 ${S}/llvm \ 56 ${S}/llvm \
57" 57"