configure.ac


Log

Author Commit Date CI Message
Nick Wellnhofer 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.
Nick Wellnhofer 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.
Nick Wellnhofer b46decdf 2024-06-12T15:58:36 Bump version
Nick Wellnhofer 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.
Nick Wellnhofer e349709a 2024-05-21T21:07:16 build: Remove --with-fexceptions configuration option
Nick Wellnhofer f524993e 2024-05-21T20:56:55 build: Clean up configuration options Remove run-debug from meson. Fix documentation.
Nick Wellnhofer 11ce63f0 2024-05-21T20:38:52 build: Don't check for isascii
Nick Wellnhofer 6f2a5973 2024-05-21T20:37:03 build: Don't check for uint32_t
Nick Wellnhofer 5c9e0ebe 2024-05-21T20:27:45 autotools: Change ICU message Only log non-default actions.
Nick Wellnhofer 54629e0f 2024-05-21T20:25:23 autotools: Remove --with-coverage configuration option
Nick Wellnhofer e80f27fc 2024-05-21T18:37:57 build: Don't check for inttypes.h This header isn't used.
Nick Wellnhofer dda69626 2024-05-21T18:31:37 autotools: Only check for networking headers if required
Nick Wellnhofer 3018842c 2024-05-20T23:51:01 build: Disable HTTP support by default
Nick Wellnhofer 609d2666 2024-05-01T23:46:46 Stop defining _REENTRANT This macro is obsolete, see `man feature_test_macros`.
Nick Wellnhofer d381e5de 2024-04-28T21:14:32 doc: Move doc/examples to example
Nick Wellnhofer 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.
Nick Wellnhofer 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.
Nick Wellnhofer e97b4d84 2024-02-13T11:37:05 autotools: Remove useless substitution Fixes #689.
Nick Wellnhofer 24059ae9 2024-01-10T18:02:20 autotools: Readd --with-xptr-locs configuration option The option was removed accidentally in 4e4c89a4.
Nick Wellnhofer d7d300ba 2024-01-04T17:50:11 parser: Remove remnants of runtime debugging feature Apparently, this feature was remove long ago. Fixes #651.
Nick Wellnhofer 2e9e758d 2023-12-24T14:27:46 dict: Get random seed from system PRNG
Nick Wellnhofer be558647 2023-12-05T21:25:09 autotools: Fix option description
Nick Wellnhofer 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.
Nick Wellnhofer 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.
Nick Wellnhofer 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.
Nick Wellnhofer 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.
Nick Wellnhofer 3669316a 2023-11-16T13:34:03 Bump version
Nick Wellnhofer 19161bab 2023-09-25T14:00:48 dict: Internal API to look up hash values
Nick Wellnhofer de4b270a 2023-09-21T14:31:31 autotools: Make --with-minimum disable lzma support Fix an oversight when handling the --with-minimum option.
Nick Wellnhofer 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.
James Le Cuirot 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.
James Le Cuirot 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.
James Le Cuirot 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.
James Le Cuirot 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.
Nick Wellnhofer 54a0b19a 2023-09-01T14:52:14 autoconf: Allow custom --with-icu configure option
Nick Wellnhofer c5989473 2023-09-01T14:52:11 dict: Use thread-local storage for PRNG state
Nick Wellnhofer 57cfd221 2023-09-01T14:52:04 dict: Use xoroshiro64** as PRNG Stop using rand_r. This enables hash randomization on all platforms.
Nick Wellnhofer 4e4c89a4 2023-08-21T00:26:01 doc: Improve documentation of configuration options
Christoph Reiter 2473b485 2023-06-21T14:15:02 autotools: fix Python module file ext for cygwin/msys2 both use .dll, not .pyd
Nick Wellnhofer cb8ccb10 2023-05-25T03:07:57 testapi: Don't set http_proxy environment variable We already disable network access, so this has no effect.
Nick Wellnhofer 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.
Nick Wellnhofer bdb5667a 2023-05-10T18:13:47 autotools: Fix ICU detection Fixes #540.
Mike Dalessio 34630630 2023-05-05T17:34:57 autoconf: fix iconv library paths and pass cflags when building executables See 0f77167f for prior related work
Nick Wellnhofer a8fe4900 2023-04-29T20:17:38 autoconf: Only use --undefined-version with version scripts
Nick Wellnhofer 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.
Nick Wellnhofer e07f765f 2023-04-28T14:51:06 Bump version to 2.12.0
Nick Wellnhofer 2df2562e 2023-04-26T21:17:21 autoconf: Add AC_LANG_SOURCE to fix warning
Nick Wellnhofer 1db3567c 2023-04-19T12:19:36 autoconf: Warn about outdated C compilers
Nick Wellnhofer 101a542e 2022-12-21T21:47:10 Remove RPM build, Makefile.tests, README.tests
Nick Wellnhofer 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.
Nick Wellnhofer 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.
Nick Wellnhofer 16d3e8b2 2022-09-07T18:10:03 autotools: Only add network libraries if HTTP/FTP enabled
Nick Wellnhofer 5ff3baf0 2022-09-06T17:33:38 python: Create .pyd on Windows
Nick Wellnhofer a41878bd 2022-09-05T23:16:23 build: Remove check for broken ss_family This only seemed to affect ancient AIX systems.
Nick Wellnhofer ad338459 2022-09-05T21:16:20 autotools: Fix bug with multiline arguments Should fix #404.
Nick Wellnhofer adcf399b 2022-09-05T15:36:13 autotools: Try to fix bug with multiline arguments Only happens with older autoconf?
Nick Wellnhofer 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.
Nick Wellnhofer 9e5a016e 2022-09-05T01:08:33 autotools: Fix network checks on Windows
Nick Wellnhofer 5d32b126 2022-09-04T22:05:16 Fix detection of GNU libiconv GNU libiconv prefixes symbols with "lib".
Nick Wellnhofer 27b2b864 2022-09-04T18:32:55 configure.ac: Also check for MSYS host
Nick Wellnhofer 3a1c5ee7 2022-09-04T18:22:30 Disable fuzzer tests if glob.h wasn't found
Nick Wellnhofer 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.
Nick Wellnhofer 22b82d14 2022-09-04T17:19:58 Improve network library detection
Nick Wellnhofer 0048fd0a 2022-09-04T03:48:49 Detect ws2_32 with AC_SEARCH_LIBS
Nick Wellnhofer 60b03c9e 2022-09-04T03:31:27 Rework network configure checks Migrate to AC_SEARCH_LIBS. Don't pollute LIBS.
Nick Wellnhofer fe02289f 2022-09-04T03:19:01 Remove arg cast configure checks We can simply cast to non-const char * unconditionally.
Nick Wellnhofer 2d164d68 2022-09-04T02:54:20 Fix dlopen check
Nick Wellnhofer 1e60c768 2022-09-04T01:49:41 Remove HAVE_WIN32_THREADS configuration flag Check for LIBXML_THREAD_ENABLED and _WIN32 instead.
Nick Wellnhofer 13a66378 2022-09-04T01:05:51 Remove BeOS support Haiku shouldn't be affected.
Nick Wellnhofer 38290ec1 2022-09-04T00:49:36 Rework dlopen and pthread detection Migrate to AC_SEARCH_LIBS. Remove check for ancient GCC 3.3.
Nick Wellnhofer e47df37b 2022-09-04T00:46:32 Fix test in configure.ac Broken in commit b4847d60.
Nick Wellnhofer c59df16d 2022-09-02T17:00:05 Always link with -no-undefined This is a good idea to detect errors early.
Nick Wellnhofer 513d65fe 2022-09-02T16:45:06 Use AM_CFLAGS and AM_LDFLAGS consistently
Nick Wellnhofer 17d505e2 2022-09-02T17:33:42 Remove -Wredundant-decls Some Python headers contain redundant redeclarations.
Nick Wellnhofer 4d911ebc 2022-09-02T16:14:04 Call AC_CHECK_* with multiple arguments
Nick Wellnhofer 75bd98a5 2022-09-02T05:09:42 Remove unused code in nanohttp.c This was hidden behind an undocumented flag RES_USE_INET6.
Nick Wellnhofer 5bffa33a 2022-09-02T05:03:03 Stop including sys/types.h
Nick Wellnhofer 05fc6ee2 2022-09-02T04:45:27 configure.ac: Remove checks for unused programs
Nick Wellnhofer 16ae1d8f 2022-09-02T04:33:54 Don't define WIN32 macro
Nick Wellnhofer 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.
Nick Wellnhofer f2dda8e8 2022-09-02T00:51:46 Rearrange configure.ac Move some sections around and align headers.
Nick Wellnhofer 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.
Nick Wellnhofer 59f2f60e 2022-09-02T00:27:57 Remove "runtime debugging" This doesn't seem useful as configuration option.
Nick Wellnhofer b4847d60 2022-09-02T00:17:43 Consolidate simple API modules in configure.ac Add some small consistency fixes.
Nick Wellnhofer 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.
Nick Wellnhofer 14d38a71 2022-09-01T05:53:51 Don't build unneeded .c source files
Xi Ruoyao 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.
Nick Wellnhofer 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.
Nick Wellnhofer 2bea68af 2022-08-25T13:50:09 Bump version to 2.11.0 This will be the next release cut from the master branch.
Nick Wellnhofer ae383bdb 2022-08-17T13:16:19 Release v2.10.0
Nick Wellnhofer 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.
Nick Wellnhofer 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.
Christopher Degawa 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>
Nick Wellnhofer 5ce893c0 2020-07-09T03:21:07 Move regexp tests to runtest
Nick Wellnhofer 0cca7b51 2022-04-03T21:29:58 Move testModule to new test suite Invoke testModule when the modern test suite is run with 'make check'.
Nick Wellnhofer f23ca9f9 2022-04-03T21:25:54 Move testThreads to new test suite Invoke testThreads when the modern test suite is run with 'make check'.
Nick Wellnhofer 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.
Nick Wellnhofer 1db151ac 2022-04-03T14:36:03 Remove LIBS from XML_PRIVATE_LIBS
Nick Wellnhofer cf6cd81c 2022-04-03T02:18:25 Add WIN32_EXTRA_LIBADD to XML_PRIVATE_LIBS
David Seifert 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