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"