diff options
author | Khem Raj <raj.khem@gmail.com> | 2017-05-18 10:30:19 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2017-05-18 10:30:19 -0700 |
commit | 1b4ce6f39a6e5c496f1dcc8cd37e527dc428c809 (patch) | |
tree | 237ae706d69a5f17690924e50007f5d7c481b60c | |
parent | 474c9df19cefee73e0d1716e0e0d5f94cdbbf28b (diff) | |
parent | 1ec5ef54f884844cd8a91a6d1700022a5d454473 (diff) | |
download | meta-clang-1b4ce6f39a6e5c496f1dcc8cd37e527dc428c809.tar.gz |
Merge remote-tracking branch 'origin/master' into pyro
-rw-r--r-- | recipes-devtools/clang/clang_git.bb | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index 839fa15..b36fe3a 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb | |||
@@ -10,11 +10,6 @@ require clang.inc | |||
10 | 10 | ||
11 | PV .= "+git${SRCPV}" | 11 | PV .= "+git${SRCPV}" |
12 | 12 | ||
13 | # | ||
14 | # Default to building only required targets (user overridable). | ||
15 | # | ||
16 | LLVM_TARGETS_TO_BUILD ?= "${@get_clang_host_arch(bb, d)};${@get_clang_target_arch(bb, d)}" | ||
17 | |||
18 | LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=${LLVMMD5SUM}; \ | 13 | LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=${LLVMMD5SUM}; \ |
19 | file://tools/clang/LICENSE.TXT;md5=${CLANGMD5SUM}; \ | 14 | file://tools/clang/LICENSE.TXT;md5=${CLANGMD5SUM}; \ |
20 | " | 15 | " |
@@ -50,22 +45,18 @@ inherit cmake | |||
50 | OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" | 45 | OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" |
51 | 46 | ||
52 | def get_clang_arch(bb, d, arch_var): | 47 | def get_clang_arch(bb, d, arch_var): |
53 | target_arch = d.getVar(arch_var, True) | 48 | import re |
54 | clang_arches = { | 49 | a = d.getVar(arch_var, True) |
55 | "i586" : "X86", | 50 | if re.match('(i.86|athlon|x86.64)$', a): return 'X86' |
56 | "x86_64" : "X86", | 51 | elif re.match('armeb$', a): return 'ARM' |
57 | "powerpc" : "PowerPC", | 52 | elif re.match('aarch64$', a): return 'AArch64' |
58 | "mips" : "Mips", | 53 | elif re.match('aarch64_be$', a): return 'AArch64' |
59 | "arm" : "ARM", | 54 | elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips' |
60 | "arm64" : "AArch64", | 55 | elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC' |
61 | "aarch64" : "AArch64", | 56 | else: |
62 | } | 57 | bb.error("cannot map '%s' to a supported llvm architecture" % a) |
63 | |||
64 | if target_arch in clang_arches: | ||
65 | return clang_arches[target_arch] | ||
66 | return "" | 58 | return "" |
67 | 59 | ||
68 | |||
69 | def get_clang_host_arch(bb, d): | 60 | def get_clang_host_arch(bb, d): |
70 | return get_clang_arch(bb, d, 'HOST_ARCH') | 61 | return get_clang_arch(bb, d, 'HOST_ARCH') |
71 | 62 | ||
@@ -77,6 +68,11 @@ PACKAGECONFIG_class-native = "" | |||
77 | 68 | ||
78 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,compiler-rt" | 69 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,compiler-rt" |
79 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" | 70 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" |
71 | # | ||
72 | # Default to build all OE-Core supported target arches (user overridable). | ||
73 | # | ||
74 | LLVM_TARGETS_TO_BUILD ?= "AArch64;ARM;Mips;PowerPC;X86" | ||
75 | LLVM_TARGETS_TO_BUILD_append = ";${@get_clang_host_arch(bb, d)};${@get_clang_target_arch(bb, d)}" | ||
80 | 76 | ||
81 | EXTRA_OECMAKE="-DLLVM_ENABLE_RTTI=True \ | 77 | EXTRA_OECMAKE="-DLLVM_ENABLE_RTTI=True \ |
82 | -DLLVM_ENABLE_FFI=False \ | 78 | -DLLVM_ENABLE_FFI=False \ |
@@ -86,10 +82,10 @@ EXTRA_OECMAKE="-DLLVM_ENABLE_RTTI=True \ | |||
86 | " | 82 | " |
87 | 83 | ||
88 | EXTRA_OECMAKE_append_class-native = "\ | 84 | EXTRA_OECMAKE_append_class-native = "\ |
89 | -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS_TO_BUILD}" \ | 85 | -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ |
90 | " | 86 | " |
91 | EXTRA_OECMAKE_append_class-nativesdk = "\ | 87 | EXTRA_OECMAKE_append_class-nativesdk = "\ |
92 | -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS_TO_BUILD}" \ | 88 | -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ |
93 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ | 89 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ |
94 | -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ | 90 | -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ |
95 | " | 91 | " |
@@ -99,7 +95,7 @@ EXTRA_OECMAKE_append_class-target = "\ | |||
99 | -DLLVM_ENABLE_PIC=ON \ | 95 | -DLLVM_ENABLE_PIC=ON \ |
100 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ | 96 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ |
101 | -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ | 97 | -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ |
102 | -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS_TO_BUILD}" \ | 98 | -DLLVM_TARGETS_TO_BUILD=${@get_clang_target_arch(bb, d)} \ |
103 | -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \ | 99 | -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \ |
104 | -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS} \ | 100 | -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS} \ |
105 | " | 101 | " |