|
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
|
|
1db3567c
|
2023-04-19T12:19:36
|
|
autoconf: Warn about outdated C compilers
|
|
101a542e
|
2022-12-21T21:47:10
|
|
Remove RPM build, Makefile.tests, README.tests
|
|
e2bae1bc
|
2022-09-20T14:34:20
|
|
autotools: Don't use version script on Windows
A feature test would be better, but blacklisting Windows platforms seems
good enough for now.
|
|
f597eff8
|
2022-09-07T18:18:06
|
|
autotools: Fix winsock detection
Hardcode the required library on MinGW because winsock uses non-standard
calling conventions on 32-bit Windows which makes AC_SEARCH_LIBS fail.
Should fix #406.
|
|
16d3e8b2
|
2022-09-07T18:10:03
|
|
autotools: Only add network libraries if HTTP/FTP enabled
|
|
5ff3baf0
|
2022-09-06T17:33:38
|
|
python: Create .pyd on Windows
|
|
a41878bd
|
2022-09-05T23:16:23
|
|
build: Remove check for broken ss_family
This only seemed to affect ancient AIX systems.
|
|
ad338459
|
2022-09-05T21:16:20
|
|
autotools: Fix bug with multiline arguments
Should fix #404.
|
|
adcf399b
|
2022-09-05T15:36:13
|
|
autotools: Try to fix bug with multiline arguments
Only happens with older autoconf?
|
|
30c8d9bb
|
2022-09-05T02:02:54
|
|
http: Simplify IPv6 checks
This should also enable IPv6 support on Windows. Untested and mostly
useless anyway, since we don't support HTTPS.
|
|
9e5a016e
|
2022-09-05T01:08:33
|
|
autotools: Fix network checks on Windows
|
|
5d32b126
|
2022-09-04T22:05:16
|
|
Fix detection of GNU libiconv
GNU libiconv prefixes symbols with "lib".
|
|
27b2b864
|
2022-09-04T18:32:55
|
|
configure.ac: Also check for MSYS host
|
|
3a1c5ee7
|
2022-09-04T18:22:30
|
|
Disable fuzzer tests if glob.h wasn't found
|
|
ad6f10a8
|
2022-09-04T17:21:51
|
|
Fix Python build on Windows
Build Python bindings with -no-undefined on Windows. Remove libs that
should already be set by PKG_CHECK_MODULE.
|
|
22b82d14
|
2022-09-04T17:19:58
|
|
Improve network library detection
|
|
0048fd0a
|
2022-09-04T03:48:49
|
|
Detect ws2_32 with AC_SEARCH_LIBS
|
|
60b03c9e
|
2022-09-04T03:31:27
|
|
Rework network configure checks
Migrate to AC_SEARCH_LIBS. Don't pollute LIBS.
|
|
fe02289f
|
2022-09-04T03:19:01
|
|
Remove arg cast configure checks
We can simply cast to non-const char * unconditionally.
|
|
2d164d68
|
2022-09-04T02:54:20
|
|
Fix dlopen check
|
|
1e60c768
|
2022-09-04T01:49:41
|
|
Remove HAVE_WIN32_THREADS configuration flag
Check for LIBXML_THREAD_ENABLED and _WIN32 instead.
|
|
13a66378
|
2022-09-04T01:05:51
|
|
Remove BeOS support
Haiku shouldn't be affected.
|
|
38290ec1
|
2022-09-04T00:49:36
|
|
Rework dlopen and pthread detection
Migrate to AC_SEARCH_LIBS. Remove check for ancient GCC 3.3.
|
|
e47df37b
|
2022-09-04T00:46:32
|
|
Fix test in configure.ac
Broken in commit b4847d60.
|
|
c59df16d
|
2022-09-02T17:00:05
|
|
Always link with -no-undefined
This is a good idea to detect errors early.
|
|
513d65fe
|
2022-09-02T16:45:06
|
|
Use AM_CFLAGS and AM_LDFLAGS consistently
|
|
17d505e2
|
2022-09-02T17:33:42
|
|
Remove -Wredundant-decls
Some Python headers contain redundant redeclarations.
|
|
4d911ebc
|
2022-09-02T16:14:04
|
|
Call AC_CHECK_* with multiple arguments
|
|
75bd98a5
|
2022-09-02T05:09:42
|
|
Remove unused code in nanohttp.c
This was hidden behind an undocumented flag RES_USE_INET6.
|
|
5bffa33a
|
2022-09-02T05:03:03
|
|
Stop including sys/types.h
|
|
05fc6ee2
|
2022-09-02T04:45:27
|
|
configure.ac: Remove checks for unused programs
|
|
16ae1d8f
|
2022-09-02T04:33:54
|
|
Don't define WIN32 macro
|
|
0f77167f
|
2022-09-02T02:08:44
|
|
Rework library detection in configure.ac
Migrate to AC_CHECK_LIB and AC_SEARCH_LIBS. Don't pollute CPPFLAGS,
LDFLAGS and LIBS.
|
|
f2dda8e8
|
2022-09-02T00:51:46
|
|
Rearrange configure.ac
Move some sections around and align headers.
|
|
6a5c88cc
|
2022-09-02T00:40:03
|
|
Consolidate zlib and lzma detection
Don't depend on a global variable for flag backup. Now the blocks can be
moved freely around.
|
|
59f2f60e
|
2022-09-02T00:27:57
|
|
Remove "runtime debugging"
This doesn't seem useful as configuration option.
|
|
b4847d60
|
2022-09-02T00:17:43
|
|
Consolidate simple API modules in configure.ac
Add some small consistency fixes.
|
|
88a8757b
|
2022-09-01T23:44:00
|
|
Fix dependency resolution in configure.ac
This mainly fixes the case of disabling a single module, for example
./configure --without-xpath
Before, there were still a few cases where a module wouldn't be disabled
unless another module depending on it were disabled, too. Finding the
correct options to really disable some modules could be extremely hard
for casual users.
Now every --without option should reliably disable dependent modules
unless they were specifcally requested. In the latter case, a warning is
printed consistently.
Some missing dependencies were added and the logic was consolidated in a
single code section.
|
|
14d38a71
|
2022-09-01T05:53:51
|
|
Don't build unneeded .c source files
|
|
df003c0a
|
2022-08-26T10:09:13
|
|
build: require automake-1.16.3 or later
We need
https://git.savannah.gnu.org/cgit/automake.git/commit/?id=e21d46f
to avoid an error like
checking for PYTHON... no
configure: error: Package requirements (python-3.1) were not met:
No package 'python-3.1' found
With python-3.10.
Partially fixes #392.
Note that there is another issue with python-3.10, like:
checking for python... no
checking for python2... no
checking for python3... no
checking for python3.9... no
...
configure: error: no suitable Python interpreter found
Fixing this one will need to require bumping automake version again, but
the automake version containing this fix is not released yet. And, this
is rather minor because most environment has "python3" as a symlink to
"python3.10" or whatever the latest python3.x installed.
|
|
0f568c0b
|
2022-08-26T01:22:33
|
|
Consolidate private header files
Private functions were previously declared
- in header files in the root directory
- in public headers guarded with IN_LIBXML
- in libxml.h
- redundantly in source files that used them.
Consolidate all private header files in include/private.
|
|
2bea68af
|
2022-08-25T13:50:09
|
|
Bump version to 2.11.0
This will be the next release cut from the master branch.
|
|
ae383bdb
|
2022-08-17T13:16:19
|
|
Release v2.10.0
|
|
3c4e4bb7
|
2022-08-05T16:24:51
|
|
Fix build with older pkg-config versions
The PKG_CHECK_VAR macro was introduced in pkg-config 0.28. Guard the
invocation with m4_ifdef.
Fixes #374.
|
|
67070107
|
2022-04-20T23:17:14
|
|
Add configuration flag for XPointer locations support
Add a new configuration flag that controls whether the outdated support
for XPointer locations (ranges and points) is enabled.
--with-xptr-locs # Autotools
LIBXML2_WITH_XPTR_LOCS # CMake
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.
The flag defaults to "off" and support for this extensions has to be
requested explicitly. The relevant API functions are deprecated.
|
|
f60e2193
|
2022-04-03T21:24:21
|
|
configure: move XML_PRIVATE_LIBS after WIN32_EXTRA_LIBADD is set
currently the pkg-config file lacks -lws2_32 because WIN32_EXTRA_LIBADD
isn't set by the time XML_PRIVATE_LIBS is set
Signed-off-by: Christopher Degawa <ccom@randomderp.com>
|
|
5ce893c0
|
2020-07-09T03:21:07
|
|
Move regexp tests to runtest
|
|
0cca7b51
|
2022-04-03T21:29:58
|
|
Move testModule to new test suite
Invoke testModule when the modern test suite is run with 'make check'.
|
|
f23ca9f9
|
2022-04-03T21:25:54
|
|
Move testThreads to new test suite
Invoke testThreads when the modern test suite is run with 'make check'.
|
|
48b03c84
|
2022-04-03T20:36:38
|
|
Remove major parts of old test suite
Remove all the parts of the old test suite which are covered by
runtest.c for quite some time.
The following test programs are removed:
- testC14N
- testHTML
- testReader
- testRelax
- testSAX
- testSchemas
- testURI
- testXPath
This also removes a few results of unimportant tests only run by the old
test suite.
|
|
1db151ac
|
2022-04-03T14:36:03
|
|
Remove LIBS from XML_PRIVATE_LIBS
|
|
cf6cd81c
|
2022-04-03T02:18:25
|
|
Add WIN32_EXTRA_LIBADD to XML_PRIVATE_LIBS
|
|
d47c52ac
|
2022-04-02T19:21:02
|
|
Avoid obsolescent `test -a` constructs
* POSIX calls the `-a` operator obsolescent and strongly discourages
its use, instead recommending chaining `test` calls instead:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
|