summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-devtools/clang/clang_git.bb24
1 files changed, 18 insertions, 6 deletions
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb
index 656f27a..d4374f6 100644
--- a/recipes-devtools/clang/clang_git.bb
+++ b/recipes-devtools/clang/clang_git.bb
@@ -10,6 +10,11 @@ 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
13LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=${LLVMMD5SUM}; \ 18LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=${LLVMMD5SUM}; \
14 file://tools/clang/LICENSE.TXT;md5=${CLANGMD5SUM}; \ 19 file://tools/clang/LICENSE.TXT;md5=${CLANGMD5SUM}; \
15 " 20 "
@@ -44,11 +49,11 @@ inherit cmake
44 49
45OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" 50OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
46 51
47def get_clang_target_arch(bb, d): 52def get_clang_arch(bb, d, arch_var):
48 target_arch = d.getVar('TRANSLATED_TARGET_ARCH', True) 53 target_arch = d.getVar(arch_var, True)
49 clang_arches = { 54 clang_arches = {
50 "i586" : "X86", 55 "i586" : "X86",
51 "x86-64" : "X86", 56 "x86_64" : "X86",
52 "powerpc" : "PowerPC", 57 "powerpc" : "PowerPC",
53 "mips" : "Mips", 58 "mips" : "Mips",
54 "arm" : "ARM", 59 "arm" : "ARM",
@@ -60,6 +65,13 @@ def get_clang_target_arch(bb, d):
60 return clang_arches[target_arch] 65 return clang_arches[target_arch]
61 return "" 66 return ""
62 67
68
69def get_clang_host_arch(bb, d):
70 return get_clang_arch(bb, d, 'HOST_ARCH')
71
72def get_clang_target_arch(bb, d):
73 return get_clang_arch(bb, d, 'TARGET_ARCH')
74
63PACKAGECONFIG ??= "compiler-rt libcplusplus" 75PACKAGECONFIG ??= "compiler-rt libcplusplus"
64PACKAGECONFIG_class-native = "" 76PACKAGECONFIG_class-native = ""
65 77
@@ -74,10 +86,10 @@ EXTRA_OECMAKE="-DLLVM_ENABLE_RTTI=True \
74" 86"
75 87
76EXTRA_OECMAKE_append_class-native = "\ 88EXTRA_OECMAKE_append_class-native = "\
77 -DLLVM_TARGETS_TO_BUILD='AArch64;ARM;Mips;PowerPC;X86' \ 89 -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS_TO_BUILD}" \
78" 90"
79EXTRA_OECMAKE_append_class-nativesdk = "\ 91EXTRA_OECMAKE_append_class-nativesdk = "\
80 -DLLVM_TARGETS_TO_BUILD='AArch64;ARM;Mips;PowerPC;X86' \ 92 -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS_TO_BUILD}" \
81 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ 93 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
82 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ 94 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \
83" 95"
@@ -87,7 +99,7 @@ EXTRA_OECMAKE_append_class-target = "\
87 -DLLVM_ENABLE_PIC=ON \ 99 -DLLVM_ENABLE_PIC=ON \
88 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ 100 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
89 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ 101 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \
90 -DLLVM_TARGETS_TO_BUILD=${@get_clang_target_arch(bb, d)} \ 102 -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS_TO_BUILD}" \
91 -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \ 103 -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \
92 -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS} \ 104 -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS} \
93" 105"