From d84a47dd3906a0bbe1e373b3725df0f0c53d7089 Mon Sep 17 00:00:00 2001 From: "Hsia-Jun(Randy) Li" Date: Wed, 4 Aug 2021 17:12:31 +0800 Subject: clang: support android runtime Signed-off-by: Hsia-Jun(Randy) Li (cherry picked from commit a494bbb6ec44a723703951a061c2adde5bca6852) --- classes/clang.bbclass | 7 ++++--- conf/layer.conf | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/classes/clang.bbclass b/classes/clang.bbclass index 91f4da3..7ad5ccb 100644 --- a/classes/clang.bbclass +++ b/classes/clang.bbclass @@ -95,15 +95,16 @@ def clang_base_deps(d): if not d.getVar('INHIBIT_DEFAULT_DEPS', False): if not oe.utils.inherits(d, 'allarch') : ret = " clang-cross-${TARGET_ARCH} virtual/libc " + if (d.getVar('RUNTIME').find('android') != -1): + ret += " libcxx" + return ret if (d.getVar('RUNTIME').find('llvm') != -1): ret += " compiler-rt libcxx" elif (d.getVar('COMPILER_RT').find('-rtlib=compiler-rt') != -1): ret += " compiler-rt " else: ret += " libgcc " - if (d.getVar('RUNTIME').find('llvm') != -1): - ret += " libcxx" - elif (d.getVar('COMPILER_RT').find('--unwindlib=libunwind') != -1): + if (d.getVar('COMPILER_RT').find('--unwindlib=libunwind') != -1): ret += " libcxx " elif (d.getVar('LIBCPLUSPLUS').find('-stdlib=libc++') != -1): ret += " libcxx " diff --git a/conf/layer.conf b/conf/layer.conf index fdfb836..0736baf 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -28,7 +28,7 @@ PREFERRED_PROVIDER_libgcc-initial = "libgcc-initial" PREFERRED_PROVIDER_llvm = "clang" PREFERRED_PROVIDER_llvm-native = "clang-native" PREFERRED_PROVIDER_nativesdk-llvm = "nativesdk-clang" -PREFERRED_PROVIDER_libunwind = "${@bb.utils.contains("RUNTIME", "llvm", "libcxx", "libunwind", d)}" +PREFERRED_PROVIDER_libunwind = "${@bb.utils.contains_any("RUNTIME", "llvm android", "libcxx", "libunwind", d)}" INHERIT += "clang" # Do not include clang in SDK unless user wants to -- cgit v1.2.3-54-g00ecf