This is an automated email from the ASF dual-hosted git repository.

jimjag pushed a commit to branch AOO50X
in repository https://gitbox.apache.org/repos/asf/openoffice.git


The following commit(s) were added to refs/heads/AOO50X by this push:
     new f0bef5b92f FreeBSD: fix the bundled openssl, nss, libxml2, libxslt and 
coinmp builds on arm64 with clang 19
f0bef5b92f is described below

commit f0bef5b92fc167c2bd8244fae1c927f7f484375f
Author: Jim Jagielski <[email protected]>
AuthorDate: Wed Nov 11 07:04:47 2026 -0500

    FreeBSD: fix the bundled openssl, nss, libxml2, libxslt and coinmp builds 
on arm64 with clang 19
    
    amd64 is assumed to be the same
    
    (cherry picked from commit d8c817eeb663dd428eb22f0bad34fd930967f171)
---
 ext_libraries/coinmp/makefile.mk | 4 ++++
 main/libxml2/makefile.mk         | 4 ++++
 main/libxslt/makefile.mk         | 4 ++++
 main/nss/makefile.mk             | 2 +-
 main/openssl/makefile.mk         | 2 ++
 5 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/ext_libraries/coinmp/makefile.mk b/ext_libraries/coinmp/makefile.mk
index c56d4f6bdc..527680387f 100644
--- a/ext_libraries/coinmp/makefile.mk
+++ b/ext_libraries/coinmp/makefile.mk
@@ -100,6 +100,10 @@ CONFIGURE_FLAGS=--disable-pkg-config --with-blas=BUILD 
--with-lapack=BUILD --dis
 # each link line (and sets -no-undefined), which is the correct fix.
 CONFIGURE_FLAGS+=--enable-dependency-linking
 .ENDIF
+.IF "$(OS)"=="FREEBSD" && "$(COM)"=="CLANG"
+# clang defaults to C++17, which removed the 'register' and std::bind2nd 
CoinMP uses
+CONFIGURE_FLAGS+=ADD_CXXFLAGS='-std=gnu++14'
+.ENDIF
 #BUILD_ACTION= CC="$(CC) $(ARCH_FLAGS)" CPP="$(CXX) $(ARCH_FLAGS)" $(GNUMAKE) 
-j8
 BUILD_ACTION= $(GNUMAKE) -j$(MAXPROCESS)
 .ENDIF
diff --git a/main/libxml2/makefile.mk b/main/libxml2/makefile.mk
index d88ef8b870..0049d79c9c 100644
--- a/main/libxml2/makefile.mk
+++ b/main/libxml2/makefile.mk
@@ -86,6 +86,10 @@ xml2_CFLAGS+=$(ARCH_FLAGS) $(C_RESTRICTIONFLAGS)
 .ENDIF                 # "$(COMNAME)"=="sunpro5"
 xml2_LDFLAGS+=-L$(SYSBASE)$/usr$/lib
 .ENDIF                 # "$(SYSBASE)"!=""
+.IF "$(HAVE_LD_UNDEFINED_VERSION)"=="TRUE"
+# lld rejects libxml2.syms entries for symbols the configure options leave out
+xml2_LDFLAGS+=-Wl,--undefined-version
+.ENDIF
 
 # --without-iconv: no OpenOffice code calls iconv, and libxml2-configure.patch
 # has always meant to turn it off -- it patches the generated xmlversion.h,
diff --git a/main/libxslt/makefile.mk b/main/libxslt/makefile.mk
index 18f7741ce4..b6b57d80df 100644
--- a/main/libxslt/makefile.mk
+++ b/main/libxslt/makefile.mk
@@ -121,6 +121,10 @@ CONFIGURE_ACTION=.$/configure
 CONFIGURE_FLAGS=--enable-ipv6=no --without-crypto --without-python 
--without-iconv --enable-static=yes --enable-shared=no --with-sax1=yes 
--with-libxml-prefix=$(SOLARVERSION)/$(INPATH) ac_cv_func_clock_gettime=false
 .ELSE
 CONFIGURE_FLAGS=--enable-ipv6=no --without-crypto --without-python 
--enable-static=no --with-sax1=yes ac_cv_func_clock_gettime=false
+.IF "$(OS)"=="FREEBSD"
+# the libxml2 package registers a .pc file; same pkg-config trap as above
+CONFIGURE_FLAGS+=--with-libxml-prefix=$(SOLARVERSION)/$(INPATH)
+.ENDIF
 .ENDIF
 BUILD_ACTION=chmod 777 xslt-config && $(GNUMAKE)
 BUILD_FLAGS+= -j$(EXTMAXPROCESS)
diff --git a/main/nss/makefile.mk b/main/nss/makefile.mk
index d5537521c9..1509c547b0 100644
--- a/main/nss/makefile.mk
+++ b/main/nss/makefile.mk
@@ -72,7 +72,7 @@ PATCH_FILES+=nss_linux.patch
 .ENDIF
 
 .IF "$(OS)"=="FREEBSD"
-BUILD_ACTION+=NSS_DISABLE_GTESTS=1
+BUILD_ACTION+=NSS_DISABLE_GTESTS=1 NSS_ENABLE_WERROR=0
 .ENDIF
 
 .IF "$(OS)"=="MACOSX"
diff --git a/main/openssl/makefile.mk b/main/openssl/makefile.mk
index 5944c983fa..97efd23a68 100644
--- a/main/openssl/makefile.mk
+++ b/main/openssl/makefile.mk
@@ -75,6 +75,8 @@ UNAME=$(shell uname)
        .ELIF "$(BUILD64)" == "1"
                .IF "$(UNAME)" == "GNU/kFreeBSD"
                        CONFIGURE_ACTION=Configure debian-kfreebsd-amd64 no-dso 
no-shared $(NO_ASM)
+               .ELIF "$(UNAME)" == "FreeBSD" && "$(CPUNAME)" == "AARCH64"
+                       CONFIGURE_ACTION=Configure BSD-aarch64 no-dso no-shared 
$(NO_ASM)
                .ELIF "$(UNAME)" == "FreeBSD"
                        CONFIGURE_ACTION=Configure BSD-x86_64 no-dso no-shared 
$(NO_ASM)
                .ELIF "$(UNAME)" == "Linux" && "$(CPUNAME)" == "AARCH64"

Reply via email to