diff options
-rw-r--r-- | recipes-devtools/clang/clang_git.bb | 24 |
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 | ||
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 | |||
13 | LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=${LLVMMD5SUM}; \ | 18 | LIC_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 | ||
45 | OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" | 50 | OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" |
46 | 51 | ||
47 | def get_clang_target_arch(bb, d): | 52 | def 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 | |||
69 | def get_clang_host_arch(bb, d): | ||
70 | return get_clang_arch(bb, d, 'HOST_ARCH') | ||
71 | |||
72 | def get_clang_target_arch(bb, d): | ||
73 | return get_clang_arch(bb, d, 'TARGET_ARCH') | ||
74 | |||
63 | PACKAGECONFIG ??= "compiler-rt libcplusplus" | 75 | PACKAGECONFIG ??= "compiler-rt libcplusplus" |
64 | PACKAGECONFIG_class-native = "" | 76 | PACKAGECONFIG_class-native = "" |
65 | 77 | ||
@@ -74,10 +86,10 @@ EXTRA_OECMAKE="-DLLVM_ENABLE_RTTI=True \ | |||
74 | " | 86 | " |
75 | 87 | ||
76 | EXTRA_OECMAKE_append_class-native = "\ | 88 | EXTRA_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 | " |
79 | EXTRA_OECMAKE_append_class-nativesdk = "\ | 91 | EXTRA_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 | " |