diff options
author | Khem Raj <raj.khem@gmail.com> | 2025-07-17 16:17:19 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2025-07-17 19:14:31 -0700 |
commit | ea8387ba411d6e7dba3e63428a9b0a07d0681bf7 (patch) | |
tree | d4c04d2b7976f20e71843f59f4a94dd0688c63c1 | |
parent | f7bc16fc1e4a76ed96031fd6bde02183dfb8313b (diff) | |
download | meta-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.bb | 10 |
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 | ||
76 | NATIVE_CC:class-target:toolchain-clang = "clang --rtlib=libgcc --unwindlib=libgcc" | ||
77 | NATIVE_CC:class-nativesdk:toolchain-clang = "clang --rtlib=libgcc --unwindlib=libgcc" | ||
78 | NATIVE_CC ?= "${BUILD_CC}" | ||
79 | |||
76 | do_compile() { | 80 | do_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 | ||
145 | do_install() { | 148 | do_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 | ||