external/nss/ExternalProject_nss.mk  |    1 +
 external/nss/UnpackedTarball_nss.mk  |    2 ++
 external/nss/nspr-win95-target.patch |   11 +++++++++++
 external/nss/winnt.patch.0           |   10 ++++++++++
 4 files changed, 24 insertions(+)

New commits:
commit 81b820a7ea7fded7c30a71a799b9fe1fac1915f9
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Mon Mar 24 13:21:02 2025 +0100
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Tue Mar 25 11:27:29 2025 +0100

    nss: change target from WIN95 to WINNT
    
    In preparation for the upgrade to nss 3.104
    
    In nss 3.103 or older, when OS_TARGET is not specified, it defaults to
    WIN95, See comment
    
    -  When building on Windows, OS_TARGET now defaults to WIN95. To use the 
WINNT build
          configuration, specify OS_TARGET=WINNT.
    
    in doc/rst/legacy/nss_releases/nss_3.15.4_release_notes/index.rst
    However, in nss 3.104 or newer, WIN95 support has been dropped and
    the WINNT has become the default. It needs some tweaks though:
    
    * Add external/nss/nspr-win95-target.patch to keep building
    nspr with WIN95 target, which is still available in nspr.
    Explicitly pass --enable-win32-target=WIN95 to NSPR_CONFIGURE_OPTS,
    otherwise, it would use WINNT, as nss, and it will fail with
    
    make[7]: *** No rule to make target 'libnspr4.lib', needed by 'build'.  
Stop.
    make[7]: *** Waiting for unfinished jobs....
    
    * Add external/nss/winnt.patch.0 to remove the 'lib' prefix as WIN95 does,
    otherwise it fails with
    
    LINK : fatal error LNK1181: cannot open input file 
'..\..\..\..\dist\out\lib\libplc4.lib'
    
    
    Change-Id: Ifaf19eeb1398389256a5c441a056f542b409622a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183262
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/external/nss/ExternalProject_nss.mk 
b/external/nss/ExternalProject_nss.mk
index 0ebba1a50583..3a9715862abe 100644
--- a/external/nss/ExternalProject_nss.mk
+++ b/external/nss/ExternalProject_nss.mk
@@ -30,6 +30,7 @@ $(call gb_ExternalProject_get_state_target,nss,build): \
                        MOZ_DEBUG_SYMBOLS=1 \
                        MOZ_DEBUG_FLAGS=" " \
                        OPT_CODE_SIZE=0) \
+               OS_TARGET=WINNT \
                USE_SYSTEM_ZLIB=1 \
                $(if $(filter X86_64,$(CPUNAME)),USE_64=1) \
                $(if $(filter AARCH64,$(CPUNAME)),USE_64=1 CPU_ARCH=aarch64) \
diff --git a/external/nss/UnpackedTarball_nss.mk 
b/external/nss/UnpackedTarball_nss.mk
index 5d8b88694bfb..5915af095a54 100644
--- a/external/nss/UnpackedTarball_nss.mk
+++ b/external/nss/UnpackedTarball_nss.mk
@@ -19,6 +19,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\
     external/nss/nss-win32-make.patch.1 \
     external/nss/ubsan.patch.0 \
     external/nss/clang-cl.patch.0 \
+    external/nss/winnt.patch.0 \
     external/nss/nss.vs2015.patch \
     external/nss/nss.vs2015.pdb.patch \
     external/nss/nss.bzmozilla1238154.patch \
@@ -26,6 +27,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\
     external/nss/macos-dlopen.patch.0 \
     external/nss/nss-restore-manual-pre-dependencies.patch.1 \
     external/nss/Wincompatible-function-pointer-types.patch.0 \
+    external/nss/nspr-win95-target.patch \
     $(if $(filter LINUX,$(OS)), \
         external/nss/nss.disablefsync.patch \
         external/nss/nss.getrandom.patch) \
diff --git a/external/nss/nspr-win95-target.patch 
b/external/nss/nspr-win95-target.patch
new file mode 100644
index 000000000000..92da84ba0b85
--- /dev/null
+++ b/external/nss/nspr-win95-target.patch
@@ -0,0 +1,11 @@
+--- a/nss/nss/Makefile    2025-03-24 15:04:03.270924656 +0100
++++ b/nss/nss/Makefile    2025-03-24 15:04:03.270924656 +0100
+@@ -63,6 +63,8 @@
+ # Translate coreconf build options to NSPR configure options.
+ #
+
++NSPR_CONFIGURE_OPTS += --enable-win32-target=WIN95
++
+ ifeq ($(OS_TARGET),Android)
+ NSPR_CONFIGURE_OPTS += --with-android-ndk=$(ANDROID_NDK) \
+                        --target=$(ANDROID_PREFIX) \
diff --git a/external/nss/winnt.patch.0 b/external/nss/winnt.patch.0
new file mode 100644
index 000000000000..666d12deeb60
--- /dev/null
+++ b/external/nss/winnt.patch.0
@@ -0,0 +1,10 @@
+--- nss/coreconf/WINNT.mk      2025-03-24 14:11:13.771104127 +0100
++++ nss/coreconf/WINNT.mk      2025-03-24 14:11:13.771104127 +0100
+@@ -15,6 +15,3 @@
+ # Win NT needs -GT so that fibers can work
+ #
+ OS_CFLAGS += -GT
+-
+-# WINNT uses the lib prefix, Win95 doesn't
+-NSPR31_LIB_PREFIX = lib
+

Reply via email to