18 Commits
Author SHA1 Message Date
Caolán McNamara e8e4c0a88f libxml2: build with cmake's ninja generator on Windows
A: ninja can make use of ccache out of the box
B: ninja participates in the toplevel make job server

The target architecture now comes from the compiler configure selected
instead of the generator's -A.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I86951768ae42a6684b80298ff149af6c8d8d7fb7
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/10654
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 29fc77fea92e28dc007781d7f728b67f5b55c58b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210984
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-09-17 09:02:04 +02:00
Xisco Fauli 3bb1efbee4 libxml2: migrate to CMake on Windows
In preparation for the upgrade to 2.15

Change-Id: I439cf6d1d113d97b5f23421da018736305eb683e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192827
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-03-30 21:48:48 +02:00
Xisco Fauli 87a485f5ee libxml2: fix configure unrecognized options
--disable-ipv6 was dropped in libxml2 2.14

Change-Id: I1150a310906e4ba2aaab90ed6de017234dc720a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200940
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-03-04 13:40:06 +01:00
Tor Lillqvist 951a74d047 Add --enable-msvc-debug-runtime to use that even without dbgutil
Adapt libxml2 build accordingly. It's MSVC_USE_DEBUG_RUNTIME we should
check to see whether the ICU libraries have a 'd' suffix in their
names, not ENABLE_DBGUTIL.

Change-Id: Ic817e3c15e7164478ae557627047d3793e3a88c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194584
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196618
Reviewed-by: Tor Lillqvist <tml@iki.fi>
Tested-by: Jenkins
2026-01-06 21:07:34 +01:00
Xisco Fauli e3b5e3aebc libxml2: upgrade to 2.14.3
* In https://gitlab.gnome.org/GNOME/libxml2/-/commit/712a31abe458eed75f0e2a442b35af58cf7091ca
some members used by Libreoffice were marked as deprecated.
Add deprecated.patch.0 to undeprecate them for now.
Meanwhile
https://gitlab.gnome.org/GNOME/libxml2/-/issues/936#note_2461334 has been
opened to discuss it. The necessary code changes
will be addressed in a follow-up commit

* In https://gitlab.gnome.org/GNOME/libxml2/-/commit/bfe6af2eed38564693b35ac5aa60178068f34fbb
main() was moved from xmllint.c to lintmain.c.
Add makefile.msvc-entry-point.patch.0 to address that

* 0001-parser-Fix-custom-SAX-parsers-without-cdataBlock-han.patch.1
fixes https://gitlab.gnome.org/GNOME/libxml2/-/issues/934

* Since https://gitlab.gnome.org/GNOME/libxml2/-/commit/f070acc56400410a3ad27f4df313526749364962
android builds in Jenkins fail with "configure: error: libiconv not
found"
Run configure with --without-iconv. Same as in Windows

* Adapt testLeadingTabHTML since The HTML parser normalizes newlines
according to HTML5 now
See https://gitlab.gnome.org/GNOME/libxml2/-/issues/938#note_2463720

Downloaded from https://download.gnome.org/sources/libxml2/2.14/libxml2-2.14.3.tar.xz

Change-Id: Ie010c236f5dad5156f7f4204033d0c02928742ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184501
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2025-06-06 20:58:18 +02:00
Caolán McNamara 0f4be83919 ofz: lots of msan spam in LLVMFuzzerCustomMutator
maybe this is that problem

Change-Id: I646a93cf815455f3eb1176df0aac5dd6641de649
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158677
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-31 11:26:18 +01:00
Stephan Bergmann 5b42f148e2 ExternalProject_libxml2 still needs to build the xmllint executable
No idea why fd6cbd983a "upgrade to libxml2-2.11.4"
started to only explicitly make libxml2.la (the commit message doesn't say), but
that caused at least <https://ci.libreoffice.org/job/lo_ubsan/2788/> to fail
with

> make[1]: *** Deleting file '/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/CustomTarget/sfx2/classification/example.validated'
> [build VAL] CustomTarget/sfx2/classification/example.validated
> /bin/sh: /home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/UnpackedTarball/libxml2//xmllint: No such file or directory
> make[1]: *** [/home/tdf/lode/jenkins/workspace/lo_ubsan/sfx2/CustomTarget_classification.mk:20: /home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/CustomTarget/sfx2/classification/example.validated] Error 1

Change-Id: I7e7aa2bae05cf8674720cfd72c78840cd7a28919
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152256
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-05-25 12:30:50 +02:00
Caolán McNamara fd6cbd983a upgrade to libxml2-2.11.4
'checked' field removed with:
https://gitlab.gnome.org/GNOME/libxml2/-/commit/ce76ebfd1312459951d555ad9d87fb9a89eede55

win32 'run_debug' removed with:
https://gitlab.gnome.org/GNOME/libxml2/-/commit/59f2f60e3eff07324f1c7cd861a444d714be750b

add libxml2-XMLCALL-redefine.patch.0 to avoid:
UnpackedTarball\libxml2\include\libxml/xmlexports.h(41): error C2220: the following warning is treated as an error
UnpackedTarball\libxml2\include\libxml/xmlexports.h(41): warning C4005: 'XMLCALL': macro redefinition
UnpackedTarball\expat\lib\expat_external.h(69): note: see previous definition of 'XMLCALL'

Change-Id: Ia9b1540dc1b4eccf91662c8d995c036f71de6fc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152176
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-05-24 15:52:03 +02:00
Stephan Bergmann 8785b280ea Pass $(verbose) into ExternalProject_libxml2
Change-Id: I11c7c15f4a97d3024a179fd2489fdace27f15216
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137892
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-08 08:45:41 +02:00
Luboš Luňák 1ffd6897dd try to use also proper debug LDFLAGS for externals libraries
This is basically ea68de2968 but
for LDFLAGS. A number of external libs cannot use this because
their libtool mishandles -fuse-ld.

Change-Id: Idee379eb0a3afb475b536519ee3de064b4e218f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133639
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-01 05:47:22 +02:00
Luboš Luňák ea68de2968 use gb_DEBUGINFO_FLAGS consistently in gbuild ExternalProject's
A number of them didn't use it at all, others had it hand-written
in various ways.

Change-Id: Iaf86325f9cdc032926bac917dc3eef4e34661544
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132818
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-04-12 13:57:32 +02:00
Jan-Marek Glogowski 4537886ec1 externals: always provide platform configure flags
No idea why we just provided the platform flags when cross-
compiling. In the curious case, where the host platform is
detected as x86_64-pc-mingw32 per default and we actually
want to override it with x86_64-pc-cygwin, we don't do a
cross compile, but must override the host platform.

But there is additional special handling needed for the omitted
cross-platform build in the special case of --host=i686-pc-cygwin
and --build=x86_64-pc-cygwin, where we deliberatly ignore cross
building; Windows is already a slow build, so try to keep this
optimization (AMD64 can execute x86 binaries).

There is the theoretical case, where the externals config.guess
would have detected something else and that "magically" even
worked, while the LO detected triplet would fail, but this
should be fixed in the external in any way.

Change-Id: Ib7a9719e0e406fe90334b7611dc3f01b51692bfa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129153
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-31 10:31:04 +01:00
Caolán McNamara e9528e41b2 augment CFLAGS for libxml2 instead of overwriting
so CFLAGS containing msan's -fsanitize=memory are not discarded

Change-Id: I3a6cdbe88b1aae37a48e73d5ed7ea06e92d78f6b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120683
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-19 09:55:24 +02:00
Noel Grandin a288585eca pass -enable-symbols down to libxml
Change-Id: Iceef587366bebe6007f40e100f19e6a2f048adda
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116764
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-07 08:42:35 +02:00
Jan-Marek Glogowski 8a4173987e WASM: add initial support for Emscripten cross build
- configure with:
- --host=wasm64-local-emscripten
- had to make a few externals optional, so adding:
  - --disable-nss
  - --disable-cmis
  - --disable-curl

Change-Id: I48d1c73d2675ad2e2beaf2c341578199efbd24ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111130
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-05-05 21:14:54 +02:00
Luboš Luňák 0adc9b615f GBUILD_TRACE, support for finding out where the build time is spent
See instructions in solenv/gbuild/Trace.mk . This generates a file than
can be viewed e.g. in the Chromium tracing view.

Change-Id: I5f90647c58ca729375525b6daed2d4918adc8188
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88754
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-02-16 14:49:45 +01:00
Michael Stahl 4fcdc190af external: consistently use gb_ExternalProject_use_nmake
... instead of hard-coding some subset of the variables everywhere.

Change-Id: I5eac5663563ee9d6cb7b57f5f6e9d55560587276
Reviewed-on: https://gerrit.libreoffice.org/44167
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-11-01 19:52:53 +01:00
Michael Stahl 84b0f06315 consistent naming of externals: xml2 -> libxml2
Change-Id: Ia1164c70d02dce70cb346c1fd4033f12d91c6e5d
Reviewed-on: https://gerrit.libreoffice.org/42297
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2017-09-15 11:03:05 +02:00