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>
This commit is contained in:
Khem Raj 2025-07-17 16:17:19 -07:00
parent f7bc16fc1e
commit ea8387ba41
No known key found for this signature in database
GPG Key ID: BB053355919D3314

View File

@ -73,11 +73,15 @@ do_compile:prepend:class-native() {
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}"
}
NATIVE_CC:class-target:toolchain-clang = "clang --rtlib=libgcc --unwindlib=libgcc"
NATIVE_CC:class-nativesdk:toolchain-clang = "clang --rtlib=libgcc --unwindlib=libgcc"
NATIVE_CC ?= "${BUILD_CC}"
do_compile() {
export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr
export CROSS_COMPILE=1
export NATIVE_CC="${BUILD_CC}"
export NATIVE_CC="${NATIVE_CC}"
# Additional defines needed on Centos 7
export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux"
export BUILD_OPT=1
@ -91,7 +95,6 @@ do_compile() {
export LIBDIR=${libdir}
export MOZILLA_CLIENT=1
export NS_USE_GCC=1
export NSS_USE_SYSTEM_SQLITE=1
export NSS_ENABLE_ECC=1
export NSS_ENABLE_WERROR=0
@ -144,14 +147,13 @@ do_install:prepend:class-nativesdk() {
do_install() {
export CROSS_COMPILE=1
export NATIVE_CC="${BUILD_CC}"
export NATIVE_CC="${NATIVE_CC}"
export BUILD_OPT=1
export FREEBL_NO_DEPEND=1
export LIBDIR=${libdir}
export MOZILLA_CLIENT=1
export NS_USE_GCC=1
export NSS_USE_SYSTEM_SQLITE=1
export NSS_ENABLE_ECC=1