Files
poky/meta/recipes-devtools/clang/common-clang.inc
Ross Burton 0747e2d25f 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>
2025-07-28 17:37:02 +01:00

48 lines
1.6 KiB
PHP

LLVM_RELEASE = ""
LLVM_DIR = "llvm${LLVM_RELEASE}"
LLVM_HTTP ?= "https://github.com/llvm"
MAJOR_VER = "20"
MINOR_VER = "1"
PATCH_VER = "8"
# could be 'rcX' or 'git' or empty ( for release )
VER_SUFFIX = ""
PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}${VER_SUFFIX}"
LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe"
CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343"
LLDMD5SUM = "ae7dc7c027b1fa89b5b013d391d3ee2b"
LLDBMD5SUM = "2e0d44968471fcde980034dbb826bea9"
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