summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2025-07-17 16:17:19 -0700
committerKhem Raj <raj.khem@gmail.com>2025-07-17 19:14:31 -0700
commitea8387ba411d6e7dba3e63428a9b0a07d0681bf7 (patch)
treed4c04d2b7976f20e71843f59f4a94dd0688c63c1
parentf7bc16fc1e4a76ed96031fd6bde02183dfb8313b (diff)
downloadmeta-openembedded-ea8387ba411d6e7dba3e63428a9b0a07d0681bf7.tar.gz
nss: Fix build when using clang toolchain
When using clang cross compiler, nss make system adds some clang specific options e.g. Qunused-options to CFLAGS which is fine for cross/target compile but some portions e.g. nsinstall is build natively so it uses NATIVE_CC to compile this utility, its is set to BUILD_CC rightly but when using clang for CC and gcc for BUILD_CC, nss build system is confused because its trying to use the computed set of warnings for both native and cross compile and they may not match between clang and gcc. So here we explicitly use clang for NATIVE_CC when TOOLCHAIN is clang Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-support/nss/nss_3.112.bb10
1 files changed, 6 insertions, 4 deletions
diff --git a/meta-oe/recipes-support/nss/nss_3.112.bb b/meta-oe/recipes-support/nss/nss_3.112.bb
index cf0b20d48b..cb35539b04 100644
--- a/meta-oe/recipes-support/nss/nss_3.112.bb
+++ b/meta-oe/recipes-support/nss/nss_3.112.bb
@@ -73,11 +73,15 @@ do_compile:prepend:class-native() {
73 RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}" 73 RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}"
74} 74}
75 75
76NATIVE_CC:class-target:toolchain-clang = "clang --rtlib=libgcc --unwindlib=libgcc"
77NATIVE_CC:class-nativesdk:toolchain-clang = "clang --rtlib=libgcc --unwindlib=libgcc"
78NATIVE_CC ?= "${BUILD_CC}"
79
76do_compile() { 80do_compile() {
77 export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr 81 export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr
78 82
79 export CROSS_COMPILE=1 83 export CROSS_COMPILE=1
80 export NATIVE_CC="${BUILD_CC}" 84 export NATIVE_CC="${NATIVE_CC}"
81 # Additional defines needed on Centos 7 85 # Additional defines needed on Centos 7
82 export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux" 86 export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux"
83 export BUILD_OPT=1 87 export BUILD_OPT=1
@@ -91,7 +95,6 @@ do_compile() {
91 95
92 export LIBDIR=${libdir} 96 export LIBDIR=${libdir}
93 export MOZILLA_CLIENT=1 97 export MOZILLA_CLIENT=1
94 export NS_USE_GCC=1
95 export NSS_USE_SYSTEM_SQLITE=1 98 export NSS_USE_SYSTEM_SQLITE=1
96 export NSS_ENABLE_ECC=1 99 export NSS_ENABLE_ECC=1
97 export NSS_ENABLE_WERROR=0 100 export NSS_ENABLE_WERROR=0
@@ -144,14 +147,13 @@ do_install:prepend:class-nativesdk() {
144 147
145do_install() { 148do_install() {
146 export CROSS_COMPILE=1 149 export CROSS_COMPILE=1
147 export NATIVE_CC="${BUILD_CC}" 150 export NATIVE_CC="${NATIVE_CC}"
148 export BUILD_OPT=1 151 export BUILD_OPT=1
149 152
150 export FREEBL_NO_DEPEND=1 153 export FREEBL_NO_DEPEND=1
151 154
152 export LIBDIR=${libdir} 155 export LIBDIR=${libdir}
153 export MOZILLA_CLIENT=1 156 export MOZILLA_CLIENT=1
154 export NS_USE_GCC=1
155 export NSS_USE_SYSTEM_SQLITE=1 157 export NSS_USE_SYSTEM_SQLITE=1
156 export NSS_ENABLE_ECC=1 158 export NSS_ENABLE_ECC=1
157 159