summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2017-05-18 10:30:19 -0700
committerKhem Raj <raj.khem@gmail.com>2017-05-18 10:30:19 -0700
commit1b4ce6f39a6e5c496f1dcc8cd37e527dc428c809 (patch)
tree237ae706d69a5f17690924e50007f5d7c481b60c
parent474c9df19cefee73e0d1716e0e0d5f94cdbbf28b (diff)
parent1ec5ef54f884844cd8a91a6d1700022a5d454473 (diff)
downloadmeta-clang-1b4ce6f39a6e5c496f1dcc8cd37e527dc428c809.tar.gz
Merge remote-tracking branch 'origin/master' into pyro
-rw-r--r--recipes-devtools/clang/clang_git.bb40
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
11PV .= "+git${SRCPV}" 11PV .= "+git${SRCPV}"
12 12
13#
14# Default to building only required targets (user overridable).
15#
16LLVM_TARGETS_TO_BUILD ?= "${@get_clang_host_arch(bb, d)};${@get_clang_target_arch(bb, d)}"
17
18LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=${LLVMMD5SUM}; \ 13LIC_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
50OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" 45OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
51 46
52def get_clang_arch(bb, d, arch_var): 47def 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
69def get_clang_host_arch(bb, d): 60def 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
78PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,compiler-rt" 69PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,compiler-rt"
79PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" 70PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx"
71#
72# Default to build all OE-Core supported target arches (user overridable).
73#
74LLVM_TARGETS_TO_BUILD ?= "AArch64;ARM;Mips;PowerPC;X86"
75LLVM_TARGETS_TO_BUILD_append = ";${@get_clang_host_arch(bb, d)};${@get_clang_target_arch(bb, d)}"
80 76
81EXTRA_OECMAKE="-DLLVM_ENABLE_RTTI=True \ 77EXTRA_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
88EXTRA_OECMAKE_append_class-native = "\ 84EXTRA_OECMAKE_append_class-native = "\
89 -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS_TO_BUILD}" \ 85 -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \
90" 86"
91EXTRA_OECMAKE_append_class-nativesdk = "\ 87EXTRA_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"