You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ji...@apache.org on 2026/08/04 14:17:59 UTC

(openoffice) branch trunk updated (a2d0bf344f -> 1bee600992)

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

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


    from a2d0bf344f Link zlib explicitly against static libxml2.a on macOS
     new c46d036de4 Build bundled libxml2/libxslt as static libs on macOS
     new 1bee600992 python: prefer CPython's own expat.h over the solver's external copy

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 main/libxml2/makefile.mk |  8 +++++++-
 main/libxslt/makefile.mk | 11 +++++++++--
 main/python/makefile.mk  | 12 ++++++++++++
 3 files changed, 28 insertions(+), 3 deletions(-)


(openoffice) 01/02: Build bundled libxml2/libxslt as static libs on macOS

Posted by ji...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit c46d036de4426f9a07612706d383be376a9967ef
Author: Jim Jagielski <ji...@gmail.com>
AuthorDate: Tue Aug 4 09:10:52 2026 -0400

    Build bundled libxml2/libxslt as static libs on macOS
    
    Community builds should bundle static libraries rather than system
    dylibs.
---
 main/libxml2/makefile.mk |  8 +++++++-
 main/libxslt/makefile.mk | 11 +++++++++--
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/main/libxml2/makefile.mk b/main/libxml2/makefile.mk
index c7599060f0..056e3a852f 100644
--- a/main/libxml2/makefile.mk
+++ b/main/libxml2/makefile.mk
@@ -91,6 +91,12 @@ CONFIGURE_DIR=
 .IF "$(OS)"=="OS2"
 CONFIGURE_ACTION=sh .$/configure
 CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --without-lzma --enable-static=yes --with-sax1=yes ADDCFLAGS="$(xml2_CFLAGS)" CFLAGS="$(EXTRA_CFLAGS)" LDFLAGS="$(xml2_LDFLAGS) $(EXTRA_LINKFLAGS)"
+.ELIF "$(OS)"=="MACOSX"
+# Community builds bundle a static libxml2 rather than a dylib -- see
+# main/xmlsecurity/util/makefile.mk and main/forms/util/makefile.mk for
+# the consumer side of this.
+CONFIGURE_ACTION=.$/configure
+CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --without-lzma --enable-static=yes --enable-shared=no --with-sax1=yes ADDCFLAGS="$(xml2_CFLAGS) $(EXTRA_CFLAGS)" LDFLAGS="$(xml2_LDFLAGS) $(EXTRA_LINKFLAGS)"
 .ELSE
 CONFIGURE_ACTION=.$/configure
 CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --without-lzma --enable-static=no --with-sax1=yes ADDCFLAGS="$(xml2_CFLAGS) $(EXTRA_CFLAGS)" LDFLAGS="$(xml2_LDFLAGS) $(EXTRA_LINKFLAGS)"
@@ -105,7 +111,7 @@ OUTDIR2INC=include$/libxml
 
 .IF "$(OS)"=="MACOSX"
 EXTRPATH=URELIB
-OUT2LIB+=.libs$/libxml2.*.dylib
+OUT2LIB+=.libs$/libxml2.a
 OUT2BIN+=.libs$/xmllint
 OUT2BIN+=xml2-config
 .ELIF "$(OS)"=="WNT"
diff --git a/main/libxslt/makefile.mk b/main/libxslt/makefile.mk
index dbdd13a4da..e97b870bfa 100644
--- a/main/libxslt/makefile.mk
+++ b/main/libxslt/makefile.mk
@@ -106,7 +106,14 @@ CPPFLAGS+:=$(ARCH_FLAGS) -xc99=none
 .ENDIF                  # "$(COMNAME)"=="sunpro5"
 CONFIGURE_DIR=
 CONFIGURE_ACTION=.$/configure
+.IF "$(OS)"=="MACOSX"
+# Community builds bundle a static libxslt/libexslt rather than a dylib --
+# see main/xmlsecurity/util/makefile.mk and main/forms/util/makefile.mk
+# for the analogous libxml2 case.
+CONFIGURE_FLAGS=--enable-ipv6=no --without-crypto --without-python --enable-static=yes --enable-shared=no --with-sax1=yes 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
+.ENDIF
 BUILD_ACTION=chmod 777 xslt-config && $(GNUMAKE)
 BUILD_FLAGS+= -j$(EXTMAXPROCESS)
 BUILD_DIR=$(CONFIGURE_DIR)
@@ -115,8 +122,8 @@ BUILD_DIR=$(CONFIGURE_DIR)
 OUT2INC=libxslt$/*.h
 
 .IF "$(OS)"=="MACOSX"
-OUT2LIB+=libxslt$/.libs$/libxslt.*.dylib
-OUT2LIB+=libexslt$/.libs$/libexslt.*.dylib
+OUT2LIB+=libxslt$/.libs$/libxslt.a
+OUT2LIB+=libexslt$/.libs$/libexslt.a
 OUT2BIN+=xsltproc$/.libs$/xsltproc
 OUT2BIN+=xslt-config
 .ELIF "$(OS)"=="WNT"


(openoffice) 02/02: python: prefer CPython's own expat.h over the solver's external copy

Posted by ji...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 1bee6009929e8d9702c129fac7b07f6d4113cebb
Author: Jim Jagielski <ji...@gmail.com>
AuthorDate: Tue Aug 4 10:17:39 2026 -0400

    python: prefer CPython's own expat.h over the solver's external copy
---
 main/python/makefile.mk | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/main/python/makefile.mk b/main/python/makefile.mk
index 042a4cf092..55712c9097 100644
--- a/main/python/makefile.mk
+++ b/main/python/makefile.mk
@@ -76,6 +76,18 @@ CONFIGURE_DIR=
 BUILD_DIR=
 MYCWD=$(shell @pwd)/$(INPATH)/misc/build
 
+# CPython's own vendored expat (Modules/expat/expat.h) renames every public
+# symbol via pyexpatns.h so it can't clash with any expat also loaded into the
+# process. The solver's external include dir below also carries AOO's own
+# flat expat.h (main/expat delivers it to inc/external/expat.h for other
+# modules), which has no such renaming. Since -I dirs are searched in the
+# order given, put Python's own Modules/expat ahead of the solver dir so
+# "expat.h" resolves to CPython's copy — otherwise pyexpat.c/_elementtree.c
+# compile against the un-renamed declarations while linking against the
+# renamed symbols in libexpat.a, leaving XML_SetCommentHandler (and friends)
+# undefined at import time.
+python_CFLAGS+=-I$(MYCWD)$/$(TARFILE_NAME)$/Modules$/expat
+
 # Point Python's setup.py at the bundled OpenSSL delivered to the solver.
 # (Replaces the old python-ssl.patch: Python 3.11 discovers _ssl/_hashlib via
 # the C compiler include/lib search paths, so feeding the solver's external