diff options
author | Hiroshi Hatake <hatake@clear-code.com> | 2019-12-09 06:33:35 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2019-12-15 02:17:58 -0800 |
commit | 3bc0042f599487643d3844be3ae225a70fa9cb97 (patch) | |
tree | 8bae3d078a5d000845cc27b0cbf90b598dd7c1a2 | |
parent | 1598cc45795cbcab831270e4286aef113faa1325 (diff) | |
download | meta-clang-3bc0042f599487643d3844be3ae225a70fa9cb97.tar.gz |
Support multiarch Yocto environment
Co-authored-by: INAJIMA Daisuke <inajima@soum.co.jp>
-rw-r--r-- | recipes-devtools/clang/clang.inc | 18 | ||||
-rw-r--r-- | recipes-devtools/clang/compiler-rt_git.bb | 1 | ||||
-rw-r--r-- | recipes-devtools/clang/libcxx_git.bb | 3 |
3 files changed, 21 insertions, 1 deletions
diff --git a/recipes-devtools/clang/clang.inc b/recipes-devtools/clang/clang.inc index 11e56ad..12c7a52 100644 --- a/recipes-devtools/clang/clang.inc +++ b/recipes-devtools/clang/clang.inc | |||
@@ -18,4 +18,22 @@ CLANGMD5SUM = "9a0fe3a7846ba0ffc822a70d6f7f6903" | |||
18 | LLDMD5SUM = "f4941ace8ddb3d6cf177fff94966319a" | 18 | LLDMD5SUM = "f4941ace8ddb3d6cf177fff94966319a" |
19 | LLDBMD5SUM = "b6320ed0b0d00ae661dd94f277bbf024" | 19 | LLDBMD5SUM = "b6320ed0b0d00ae661dd94f277bbf024" |
20 | 20 | ||
21 | def 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 | |||
37 | LLVM_LIBDIR_SUFFIX="${@get_libdir_suffix(d, 'TARGET_ARCH')}" | ||
38 | |||
21 | require common.inc | 39 | require common.inc |
diff --git a/recipes-devtools/clang/compiler-rt_git.bb b/recipes-devtools/clang/compiler-rt_git.bb index 9a15211..f4bd909 100644 --- a/recipes-devtools/clang/compiler-rt_git.bb +++ b/recipes-devtools/clang/compiler-rt_git.bb | |||
@@ -35,6 +35,7 @@ EXTRA_OECMAKE += "-DCOMPILER_RT_STANDALONE_BUILD=OFF \ | |||
35 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ | 35 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ |
36 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ | 36 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ |
37 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ | 37 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ |
38 | -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ | ||
38 | -G Ninja ${S}/llvm \ | 39 | -G Ninja ${S}/llvm \ |
39 | " | 40 | " |
40 | 41 | ||
diff --git a/recipes-devtools/clang/libcxx_git.bb b/recipes-devtools/clang/libcxx_git.bb index aced724..13ef77a 100644 --- a/recipes-devtools/clang/libcxx_git.bb +++ b/recipes-devtools/clang/libcxx_git.bb | |||
@@ -40,11 +40,12 @@ EXTRA_OECMAKE += "\ | |||
40 | -DCXX_SUPPORTS_CXX11=ON \ | 40 | -DCXX_SUPPORTS_CXX11=ON \ |
41 | -DLIBCXXABI_LIBCXX_INCLUDES=${S}/libcxx/include \ | 41 | -DLIBCXXABI_LIBCXX_INCLUDES=${S}/libcxx/include \ |
42 | -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \ | 42 | -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \ |
43 | -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib \ | 43 | -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/${base_libdir} \ |
44 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ | 44 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ |
45 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ | 45 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ |
46 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ | 46 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ |
47 | -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi${LIBUNWIND}' \ | 47 | -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi${LIBUNWIND}' \ |
48 | -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ | ||
48 | -G Ninja \ | 49 | -G Ninja \ |
49 | ${S}/llvm \ | 50 | ${S}/llvm \ |
50 | " | 51 | " |