mirror of
https://git.yoctoproject.org/poky
synced 2026-04-17 00:32:13 +02:00
clang: move get_clang_arch() functions to the common inc file
These functions are useful outside of just the clang recipe, so move them to a common .inc file so they can be used by other clang-related recipes. Also make the function fail if it doesn't recognise the architecture, instead of returning the empty string and causing mysterious fails later. (From OE-Core rev: 1d5298533e97dab7636f885ddd740352782395b0) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
831a22fa5a
commit
0747e2d25f
@@ -30,29 +30,6 @@ inherit cmake pkgconfig python3native python3targetconfig multilib_header
|
||||
|
||||
OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
|
||||
|
||||
def get_clang_arch(bb, d, arch_var):
|
||||
import re
|
||||
a = d.getVar(arch_var)
|
||||
if re.match('(i.86|athlon|x86.64)$', a): return 'X86'
|
||||
elif re.match('arm$', a): return 'ARM'
|
||||
elif re.match('armeb$', a): return 'ARM'
|
||||
elif re.match('aarch64$', a): return 'AArch64'
|
||||
elif re.match('aarch64_be$', a): return 'AArch64'
|
||||
elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips'
|
||||
elif re.match('riscv32$', a): return 'RISCV'
|
||||
elif re.match('riscv64$', a): return 'RISCV'
|
||||
elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC'
|
||||
elif re.match('loongarch64$', a): return 'LoongArch'
|
||||
else:
|
||||
bb.note("'%s' is not a primary llvm architecture" % a)
|
||||
return ""
|
||||
|
||||
def get_clang_host_arch(bb, d):
|
||||
return get_clang_arch(bb, d, 'HOST_ARCH')
|
||||
|
||||
def get_clang_target_arch(bb, d):
|
||||
return get_clang_arch(bb, d, 'TARGET_ARCH')
|
||||
|
||||
PACKAGECONFIG_CLANG_COMMON = "build-id eh libedit rtti shared-libs libclang-python \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', 'lld', '', d)} \
|
||||
${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', 'compiler-rt libcplusplus libomp unwindlib', '', d)} \
|
||||
|
||||
@@ -21,4 +21,27 @@ LLVM_LIBDIR_SUFFIX = "${@d.getVar('baselib').replace('lib', '')}"
|
||||
# set the default pigz thread
|
||||
export PIGZ = "-p ${@oe.utils.cpu_count(at_least=2)}"
|
||||
|
||||
def get_clang_arch(bb, d, arch_var):
|
||||
import re
|
||||
a = d.getVar(arch_var)
|
||||
if re.match('(i.86|athlon|x86.64)$', a): return 'X86'
|
||||
elif re.match('arm$', a): return 'ARM'
|
||||
elif re.match('armeb$', a): return 'ARM'
|
||||
elif re.match('aarch64$', a): return 'AArch64'
|
||||
elif re.match('aarch64_be$', a): return 'AArch64'
|
||||
elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips'
|
||||
elif re.match('riscv32$', a): return 'RISCV'
|
||||
elif re.match('riscv64$', a): return 'RISCV'
|
||||
elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC'
|
||||
elif re.match('loongarch64$', a): return 'LoongArch'
|
||||
else:
|
||||
bb.fatal("Unhandled architecture %s" % arch_val)
|
||||
return ""
|
||||
|
||||
def get_clang_host_arch(bb, d):
|
||||
return get_clang_arch(bb, d, 'HOST_ARCH')
|
||||
|
||||
def get_clang_target_arch(bb, d):
|
||||
return get_clang_arch(bb, d, 'TARGET_ARCH')
|
||||
|
||||
require common.inc
|
||||
|
||||
Reference in New Issue
Block a user