diff mbox series

[4/4] clang.bbclass: Add clang specific ldflags and dependencies

Message ID 20250718040906.3591603-4-raj.khem@gmail.com
State New
Headers show
Series [1/4] toolchain-scripts.bbclass: Make -mmusl apply only for gcc toolchains | expand

Commit Message

Khem Raj July 18, 2025, 4:09 a.m. UTC
* Qunused-arguments option is needed for making clang not error out on
  options it does not understand. This is required for some packages which
  might be using the gcc-only flags. We still want to know the problem but
  let clang ignore it and move on instead of dropping out

* Add rpath defaults for nativesdk recipes to let nativesdk packages use
  SDK sysroot correctly

* Add clang-cross to sysroot via POPULATESYSROOTDEPS to get llvm tools
  e.g. llvm-strip, llvm-nm etc when they are used at default STRIP/NM etc.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/toolchain/clang.bbclass | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta/classes/toolchain/clang.bbclass b/meta/classes/toolchain/clang.bbclass
index d7b8a3657c6..f7e3e7435f4 100644
--- a/meta/classes/toolchain/clang.bbclass
+++ b/meta/classes/toolchain/clang.bbclass
@@ -29,9 +29,13 @@  PREFERRED_PROVIDER_virtual/nativesdk-cross-c++:class-cross-canadian = "clang-cro
 
 BASE_DEFAULT_DEPS:append:class-target = " compiler-rt"
 
-TUNE_CCARGS += "${@bb.utils.contains("DISTRO_FEATURES", "usrmerge", " --dyld-prefix=/usr", "", d)}"
+TUNE_CCARGS += "${@bb.utils.contains("DISTRO_FEATURES", "usrmerge", " --dyld-prefix=/usr", "", d)} -Qunused-arguments"
 
 LDFLAGS:append:class-nativesdk:x86-64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-x86-64.so.2"
 LDFLAGS:append:class-nativesdk:aarch64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-aarch64.so.1"
+LDFLAGS:append:class-nativesdk = " -Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.."
+
+# do_populate_sysroot needs STRIP
+POPULATESYSROOTDEPS:append:class-target = " ${MLPREFIX}clang-cross-${TARGET_ARCH}:do_populate_sysroot"
 
 TCOVERRIDE = "toolchain-clang"