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 | " |
