|
1763281c
|
2025-09-08T15:29:23
|
|
Remove LZMA support
|
|
86cf217d
|
2025-06-03T19:35:03
|
|
build: Disable Schematron support by default
|
|
4e5945fc
|
2025-05-17T14:41:28
|
|
cmake: Avoid overlinking with non-CMake libxml2-config.cmake
Align libxml2-config.cmake generated by Autotools and Meson with the
CMake version and only add dependencies to libraries when linking
statically. Also set LIBXML_STATIC for static builds.
Fixes #918.
|
|
e9366ffb
|
2025-05-02T22:26:06
|
|
tests: Remove XSTC Python tests
I think this has been ported to runsuite.c.
Convert part of Makefile.am into a script to download the test suite.
|
|
bbe5827c
|
2025-04-28T17:21:05
|
|
doc: Build docs with Doxygen and xsltproc
Build the documentation as part of the build process with support for
all build systems. This adds a new configuration option --with-docs to
build documentation. Required tools are Doxygen, xsltproc and the
DocBook 4 XSLT stylesheets. Doxygen will also be required to build the
Python bindings.
|
|
95c2c523
|
2025-04-28T16:38:42
|
|
doc: Remove apibuild.py and old documentation
The last weird maintenance script is gone now.
|
|
75dde50b
|
2025-05-01T21:07:34
|
|
cmake: Fix installation directories in libxml2-config.cmake
Use AX_RECURSIVE_EVAL with Autotools and remove hack using parent
directories.
Fixes #898.
|
|
71cc2104
|
2025-04-21T11:10:20
|
|
autotools, cmake: Use SOABI for Python shared object
This requires Python3 with CMake.
Fixes #894.
|
|
b85d77d1
|
2025-04-20T14:31:24
|
|
http: Remove built-in HTTP client
Stubs are retained for ABI compatibility.
Fixes #631.
Obsoletes #160.
|
|
fa931566
|
2025-04-14T17:34:39
|
|
build: Disable Python bindings by default
|
|
eb0c98eb
|
2025-03-31T16:55:23
|
|
autotools: Add comment regarding libtool versioning
|
|
884c8996
|
2025-03-14T18:29:24
|
|
build: Don't make --with-legacy enable HTTP and LZMA
The --with-legacy option only enables --with-zlib for now.
|
|
d9ea7650
|
2025-03-04T17:46:57
|
|
build: Restrict binary compatibility to 2.14
On ELF systems, this bumps the soname from libxml2.so.2 to
libxml2.so.16. For historic reasons, the last component is the sum of
major and minor version.
|
|
eed1a07d
|
2025-03-04T13:32:52
|
|
build: Remove version script
|
|
cdc5cfed
|
2025-03-04T13:26:51
|
|
legacy: Remove legacy symbols
|
|
e50d314a
|
2025-02-25T23:07:19
|
|
build: Add separate configuration option for RELAX NG
Support for RELAX NG used to be enabled together with XML Schema support
(--with-schemas). Now there's a separate option and a new feature macro
LIBXML_RELAXNG_ENABLED.
|
|
bfe6af2e
|
2025-01-17T17:09:04
|
|
fuzz: Remove hacks to build lint fuzzer
Don't include source file directly.
|
|
260954c5
|
2024-12-26T18:17:45
|
|
autotools: Set AC_CONFIG_AUX_DIR
This should make sure that autoreconf doesn't mess with parent
directories.
Should fix #833.
|
|
afeff9c5
|
2024-12-21T20:47:40
|
|
xinclude: Allow build without XPath
This disables XPath queries and makes the tests fail, but might be
useful.
|
|
de478472
|
2024-11-22T00:45:44
|
|
build: Remove unused variables
|
|
a5764b56
|
2024-11-21T22:18:36
|
|
build: Define XML_SYSCONFDIR in config.h
Rename SYSCONFDIR macro to XML_SYSCONFDIR.
Use AX_RECURSIVE_EVAL with Autotools. This is GPL v2 with Autoconf
exception which shouldn't be a problem.
Finally support meson.
|
|
b57e022d
|
2024-11-13T19:08:47
|
|
build: Check for icu-uc instead of icu-i18n
This should be the ICU component we actually need.
|
|
567f612d
|
2024-08-19T17:43:32
|
|
build: Check for declaration of glob() function
Don't rely on presence of glob.h.
|
|
5c608609
|
2024-08-16T22:35:54
|
|
Eliminate false positive -Warray-bounds on some compilers
This affects GCC 7.3, MinGW 7.3, and LCC 1.25 and 1.26.
In some sense it reverts ad93f087.
|
|
e1291059
|
2024-07-22T22:22:48
|
|
build: Don't check for pthread.h
The Autotools build still checks for pthread.h (and zlib.h and lzma.h)
but the result isn't needed in config.h.
|
|
cc03c069
|
2024-07-22T22:15:09
|
|
build: Don't check for standard POSIX headers
These headers should be available since early POSIX days and are
required no matter what.
|
|
d7dc2eaf
|
2024-07-22T21:39:54
|
|
build: Don't check for dlfcn.h and dl.h
It's enough to check for symbols.
|
|
0172ffa9
|
2024-07-22T15:21:36
|
|
build: Only check for required headers
|
|
3ef66611
|
2024-07-22T14:58:16
|
|
build: Rework mmap checks
Switch to AC_CHECK_DECLS/check_symbol_exists. Don't check for
sys/mman.h separately. Don't check for munmap.
|
|
e1657f3f
|
2024-07-22T14:33:14
|
|
build: Use AC_CHECK_DECLS/check_symbol_exists for getentropy
This assumes that getentropy is declared in sys/random.h.
Should fix issues on iOS. See #774.
|
|
e2a49afe
|
2024-07-03T20:18:24
|
|
build: Read version number from VERSION file
|
|
c3731347
|
2024-07-03T18:20:17
|
|
build: Introduce LIBXML_MINOR_COMPAT
This is set to 0 for now but could be used to avoid ABI stability
issues.
|
|
1167c334
|
2024-06-28T21:51:21
|
|
encoding: Don't include iconv.h from libxml/encoding.h
|
|
64685e98
|
2024-06-28T22:04:50
|
|
autotools: Remove NON_PC_LIBS
Improves modularization.
|
|
c195f06f
|
2024-06-25T22:14:47
|
|
autotools: Use AX_GCC_FUNC_ATTRIBUTE from autoconf archives
|
|
1afaa371
|
2024-06-25T22:06:36
|
|
build: Move definition of ATTRIBUTE_DESTRUCTOR to libxml.h
|
|
ec47add4
|
2024-06-24T01:06:08
|
|
configure.ac: fix bashisms
'==' is a bashism, so use the POSIX '=' instead.
|
|
0a279e2f
|
2024-06-22T04:00:33
|
|
tests: Remove old timing tests
|
|
84a4f84c
|
2024-06-22T02:11:24
|
|
build: Don't check for required headers and functions
Unless we are on Windows, the following POSIX headers are required.
They're part of the earliest POSIX specs and it doesn't make sense to
check for them.
- fcntl.h
- unistd.h
- sys/stat.h
- sys/time.h
On Windows, io.h, fcntl.h and sys/stat.h are always available.
|
|
dc6f55cf
|
2024-06-22T00:35:14
|
|
build: Remove check for IPv6
Only check for availability of netdb.h.
|
|
02326d72
|
2024-06-21T23:54:35
|
|
build: Remove socklen_t checks
socklen_t has been mandated by POSIX for ages. Always use "socklen_t" or
"int" on Win32.
|
|
7ba6c8fe
|
2024-06-21T04:59:11
|
|
autotools: Remove libxml-2.0-uninstalled.pc
|
|
c106455c
|
2024-06-21T04:18:04
|
|
build: Set Cflags.private on Windows
|
|
fc4bd04b
|
2024-06-21T03:32:30
|
|
autotools: Remove unused variable
|
|
4c1b8851
|
2024-06-21T03:26:54
|
|
autotools: Move MODULE_PLATFORM_LIBS into NON_PC_LIBS
|
|
29bf09ec
|
2024-06-21T03:16:44
|
|
autotools: Remove XML_LIBTOOLLIBS
|
|
02f519e6
|
2024-06-21T02:07:17
|
|
autotools: Use pkg-config to check for libreadline
This handles static linking properly and avoids overlinking.
Change the --with-readline default to no as it was before and raise an
error if libreadline couldn't be found.
Do the same for libhistory.
|
|
2b0c4abb
|
2024-06-16T21:52:12
|
|
threads: Remove pthread weak symbol hack
On Linux, we tried to detect the presence of libpthread to disable
things like locks. This questionable hack doesn't work since glibc 2.34
which merged libpthread into libc.
|
|
38488027
|
2024-06-16T21:16:43
|
|
xmllint: Support libreadline without history
|
|
b0fc67aa
|
2024-06-15T22:53:55
|
|
build: Remove --with-tree configuration option
This option would allow for a smaller, but mostly useless minimal build.
But it complicates the symbol availability logic in an insane way and
requires specialized tools like our custom C parser in doc/apibuild.py.
See #717.
|
|
7cf7a54a
|
2024-06-15T22:27:40
|
|
build: Only enable linker version script in legacy mode
The version script is deprecated but required for backward
compatibility.
|
|
898e5a14
|
2024-06-15T20:17:18
|
|
build: Remove compiler TLS warning
|
|
f070acc5
|
2024-06-14T23:51:31
|
|
autotools: Abort if external libraries couldn't be found
This makes the configuration process more robust and deterministic.
Before, we would silently disable options.
|
|
669bd349
|
2024-06-12T18:20:01
|
|
xpointer: Remove support for XPointer locations
The latest spec for what it essentially an XPath extension seems to be
this working draft from 2002:
https://www.w3.org/TR/xptr-xpointer/
The xpointer() scheme is listed as "being reviewed" in the XPointer
registry since at least 2006. libxml2 seems to be the only modern
software that tries to implement this spec, but the code has many bugs
and quality issues.
If you configure --with-legacy, old symbols are retained for ABI
compatibility.
|
|
dba1ed85
|
2024-06-12T18:19:55
|
|
ftp: Remove FTP support
Remove the built-in FTP client. If you configure --with-legacy, old
symbols are retained for ABI compatibility.
|
|
b46decdf
|
2024-06-12T15:58:36
|
|
Bump version
|
|
ec09909d
|
2024-05-29T13:47:37
|
|
autotools: Fix pthread detection on FreeBSD
pthread_join is defined by libc, so check for pthread_create instead.
Should fix #725.
|
|
e349709a
|
2024-05-21T21:07:16
|
|
build: Remove --with-fexceptions configuration option
|
|
f524993e
|
2024-05-21T20:56:55
|
|
build: Clean up configuration options
Remove run-debug from meson. Fix documentation.
|
|
11ce63f0
|
2024-05-21T20:38:52
|
|
build: Don't check for isascii
|
|
6f2a5973
|
2024-05-21T20:37:03
|
|
build: Don't check for uint32_t
|
|
5c9e0ebe
|
2024-05-21T20:27:45
|
|
autotools: Change ICU message
Only log non-default actions.
|
|
54629e0f
|
2024-05-21T20:25:23
|
|
autotools: Remove --with-coverage configuration option
|
|
e80f27fc
|
2024-05-21T18:37:57
|
|
build: Don't check for inttypes.h
This header isn't used.
|
|
dda69626
|
2024-05-21T18:31:37
|
|
autotools: Only check for networking headers if required
|
|
3018842c
|
2024-05-20T23:51:01
|
|
build: Disable HTTP support by default
|
|
609d2666
|
2024-05-01T23:46:46
|
|
Stop defining _REENTRANT
This macro is obsolete, see `man feature_test_macros`.
|
|
d381e5de
|
2024-04-28T21:14:32
|
|
doc: Move doc/examples to example
|
|
1cdfece1
|
2024-04-28T18:33:40
|
|
memory: Remove memory debugging
This is useless compared to sanitizers or valgrind and has a
considerable performance impact if enabled accidentally.
|
|
f7f14537
|
2024-04-02T12:56:11
|
|
build: Disable support for compression libraries by default
libxml2 has limited support for reading and writing compressed data
with the help of zlib and liblzma which used to be enabled by default.
This only works for files read from the file system and never worked
with memory buffers. My guess is that this feature is virtually unused.
In light of the recently discovered xz backdoor, it's a good time to
disable these features by default to reduce attack surface and prepare
for eventual removal.
If --with-legacy is passed to the Autotools build, compression will
be enabled by default as before.
|
|
e97b4d84
|
2024-02-13T11:37:05
|
|
autotools: Remove useless substitution
Fixes #689.
|
|
24059ae9
|
2024-01-10T18:02:20
|
|
autotools: Readd --with-xptr-locs configuration option
The option was removed accidentally in 4e4c89a4.
|
|
d7d300ba
|
2024-01-04T17:50:11
|
|
parser: Remove remnants of runtime debugging feature
Apparently, this feature was remove long ago.
Fixes #651.
|
|
2e9e758d
|
2023-12-24T14:27:46
|
|
dict: Get random seed from system PRNG
|
|
be558647
|
2023-12-05T21:25:09
|
|
autotools: Fix option description
|
|
cf6e58d6
|
2023-12-05T20:40:20
|
|
build: Disable compiler TLS by default
The global struct is quite large (~700 bytes on 64-bit systems which
will be allocated for each thread whether it uses libxml2 or not) and
already close to the total size limit on some platforms.
Disable compiler TLS by default.
|
|
5cffba83
|
2023-11-28T15:34:28
|
|
Rework va_copy fallback
va_copy is a macro, so it can be detected without a feature test.
Fallback to __va_copy or memcpy.
|
|
7d6969d9
|
2023-11-23T15:48:52
|
|
Remove Trio
Trio is a rather old cross-platform printf library which was bundled with
libxml2. It was needed for ancient pre-C99 systems without snprintf and
should be safe to remove these days.
|
|
f3c24112
|
2023-11-22T02:00:00
|
|
autotools: Stop checking for snprintf
This works around a bug when cross-compiling to 32-bit MinGW:
https://sourceforge.net/p/mingw-w64/bugs/935/
This means that we don't fall back to the bundled Trio library if
snprintf couldn't be detected. Trio support is completely untested, most
likely broken and will be removed soon.
Fixes #625.
|
|
3669316a
|
2023-11-16T13:34:03
|
|
Bump version
|
|
19161bab
|
2023-09-25T14:00:48
|
|
dict: Internal API to look up hash values
|
|
de4b270a
|
2023-09-21T14:31:31
|
|
autotools: Make --with-minimum disable lzma support
Fix an oversight when handling the --with-minimum option.
|
|
e7f0d88b
|
2023-09-21T01:38:26
|
|
build: Remove some GCC warnings
-Wnested-externs produces spurious warnings after implicit
declaration of functions.
-Winline is useless since we don't use inlines.
-Wredundant-decls was already removed for autotools.
|
|
5a18c505
|
2023-09-04T09:30:38
|
|
autoconf: Include non-pkg-config dependency flags in the pkg-config file
These were present before, but I accidentally dropped them in my recent
build improvements.
|
|
6864d92f
|
2023-09-04T09:25:44
|
|
autoconf: Don't bake build time CFLAGS into pkg-config file
Having slept on it, I've realised that baking the dependency CFLAGS into
the pkg-config file is pointless when it is only used to link against
them. It may even cause problems.
|
|
93e8bb2a
|
2023-09-02T17:12:58
|
|
build: Generate better pkg-config files for static-only builds
pkg-config supports `Requires.private` and `Libs.private` fields for
static linking. However, if you're building a dynamic binary, then
pkg-config will use the non-private fields, even if just the static
libxml2 is available. This will result in libxml2 being underlinked,
causing the build to fail. The solution is to fold the private fields
into the non-private fields when the shared libxml2 is not being built.
This works for Autotools and CMake. Meson also knows how to handle this
when it automatically generates pkg-config files.
|
|
4640ccac
|
2023-09-02T16:18:30
|
|
build: Generate better pkg-config file for SYSROOT builds
The -I and -L flags you use to build should not necessarily be the same
ones you bake into installed files. If you are building with
dependencies located under a SYSROOT then the installed files should
have no knowledge of that SYSROOT. For example, if the build requires
`-L/path/to/sysroot/usr/lib/foo` then only `-L/usr/lib/foo` should be
baked into the installed files.
pkg-config is SYSROOT-aware, so this issue can be sidestepped by using
the `Requires` field rather than the `Libs` and `Cflags` fields. This is
easily resolved if you rely solely on pkg-config, but this project falls
back to standard Autoconf checks, so a little more effort is required.
Unfortunately, this issue cannot feasibly be resolved for CMake.
`find_package` is used rather than `pkg_check_modules`, so we cannot
tell whether a pkg-config file for each dependency is present or not,
even if `find_package` uses pkg-config behind the scenes. The CMake
build does not record any dependency -I or -L flags into the pkg-config
file anyway. This is a problem in itself, although these dependencies
are most likely installed to standard locations.
Meson is very much better at handling this, as it generates the
pkg-config file automatically using the correct logic.
|
|
54a0b19a
|
2023-09-01T14:52:14
|
|
autoconf: Allow custom --with-icu configure option
|
|
c5989473
|
2023-09-01T14:52:11
|
|
dict: Use thread-local storage for PRNG state
|
|
57cfd221
|
2023-09-01T14:52:04
|
|
dict: Use xoroshiro64** as PRNG
Stop using rand_r. This enables hash randomization on all platforms.
|
|
4e4c89a4
|
2023-08-21T00:26:01
|
|
doc: Improve documentation of configuration options
|
|
2473b485
|
2023-06-21T14:15:02
|
|
autotools: fix Python module file ext for cygwin/msys2
both use .dll, not .pyd
|
|
cb8ccb10
|
2023-05-25T03:07:57
|
|
testapi: Don't set http_proxy environment variable
We already disable network access, so this has no effect.
|
|
9fd57df8
|
2023-05-25T02:37:57
|
|
autotools: Improve iconv check
Use a custom test program which includes iconv.h, so we can check
whether the possibly redefined symbols in this header file match the
symbols in the iconv library.
Should fix #547.
|
|
bdb5667a
|
2023-05-10T18:13:47
|
|
autotools: Fix ICU detection
Fixes #540.
|
|
34630630
|
2023-05-05T17:34:57
|
|
autoconf: fix iconv library paths
and pass cflags when building executables
See 0f77167f for prior related work
|
|
a8fe4900
|
2023-04-29T20:17:38
|
|
autoconf: Only use --undefined-version with version scripts
|
|
d8f6e760
|
2023-04-29T19:12:23
|
|
Link with --undefined-version
lld 16 defaults to --no-undefined-version but the version script can
contain symbols disabled by configuration options.
See #473.
|
|
e07f765f
|
2023-04-28T14:51:06
|
|
Bump version to 2.12.0
|
|
2df2562e
|
2023-04-26T21:17:21
|
|
autoconf: Add AC_LANG_SOURCE to fix warning
|