Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 567f612d | 2024-08-19 17:43:32 | build: Check for declaration of glob() function Don't rely on presence of glob.h. | ||
| 5c608609 | 2024-08-16 22: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-22 22: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-22 22: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-22 21:39:54 | build: Don't check for dlfcn.h and dl.h It's enough to check for symbols. | ||
| 0172ffa9 | 2024-07-22 15:21:36 | build: Only check for required headers | ||
| 3ef66611 | 2024-07-22 14: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-22 14: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-03 20:18:24 | build: Read version number from VERSION file | ||
| c3731347 | 2024-07-03 18: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-28 21:51:21 | encoding: Don't include iconv.h from libxml/encoding.h | ||
| 64685e98 | 2024-06-28 22:04:50 | autotools: Remove NON_PC_LIBS Improves modularization. | ||
| c195f06f | 2024-06-25 22:14:47 | autotools: Use AX_GCC_FUNC_ATTRIBUTE from autoconf archives | ||
| 1afaa371 | 2024-06-25 22:06:36 | build: Move definition of ATTRIBUTE_DESTRUCTOR to libxml.h | ||
| ec47add4 | 2024-06-24 01:06:08 | configure.ac: fix bashisms '==' is a bashism, so use the POSIX '=' instead. | ||
| 0a279e2f | 2024-06-22 04:00:33 | tests: Remove old timing tests | ||
| 84a4f84c | 2024-06-22 02: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-22 00:35:14 | build: Remove check for IPv6 Only check for availability of netdb.h. | ||
| 02326d72 | 2024-06-21 23: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-21 04:59:11 | autotools: Remove libxml-2.0-uninstalled.pc | ||
| c106455c | 2024-06-21 04:18:04 | build: Set Cflags.private on Windows | ||
| fc4bd04b | 2024-06-21 03:32:30 | autotools: Remove unused variable | ||
| 4c1b8851 | 2024-06-21 03:26:54 | autotools: Move MODULE_PLATFORM_LIBS into NON_PC_LIBS | ||
| 29bf09ec | 2024-06-21 03:16:44 | autotools: Remove XML_LIBTOOLLIBS | ||
| 02f519e6 | 2024-06-21 02: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-16 21: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-16 21:16:43 | xmllint: Support libreadline without history | ||
| b0fc67aa | 2024-06-15 22: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-15 22:27:40 | build: Only enable linker version script in legacy mode The version script is deprecated but required for backward compatibility. | ||
| 898e5a14 | 2024-06-15 20:17:18 | build: Remove compiler TLS warning | ||
| f070acc5 | 2024-06-14 23: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-12 18: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-12 18: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-12 15:58:36 | Bump version | ||
| ec09909d | 2024-05-29 13: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-21 21:07:16 | build: Remove --with-fexceptions configuration option | ||
| f524993e | 2024-05-21 20:56:55 | build: Clean up configuration options Remove run-debug from meson. Fix documentation. | ||
| 11ce63f0 | 2024-05-21 20:38:52 | build: Don't check for isascii | ||
| 6f2a5973 | 2024-05-21 20:37:03 | build: Don't check for uint32_t | ||
| 5c9e0ebe | 2024-05-21 20:27:45 | autotools: Change ICU message Only log non-default actions. | ||
| 54629e0f | 2024-05-21 20:25:23 | autotools: Remove --with-coverage configuration option | ||
| e80f27fc | 2024-05-21 18:37:57 | build: Don't check for inttypes.h This header isn't used. | ||
| dda69626 | 2024-05-21 18:31:37 | autotools: Only check for networking headers if required | ||
| 3018842c | 2024-05-20 23:51:01 | build: Disable HTTP support by default | ||
| 609d2666 | 2024-05-01 23:46:46 | Stop defining _REENTRANT This macro is obsolete, see `man feature_test_macros`. | ||
| d381e5de | 2024-04-28 21:14:32 | doc: Move doc/examples to example | ||
| 1cdfece1 | 2024-04-28 18: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-02 12: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-13 11:37:05 | autotools: Remove useless substitution Fixes #689. | ||
| 24059ae9 | 2024-01-10 18:02:20 | autotools: Readd --with-xptr-locs configuration option The option was removed accidentally in 4e4c89a4. | ||
| d7d300ba | 2024-01-04 17:50:11 | parser: Remove remnants of runtime debugging feature Apparently, this feature was remove long ago. Fixes #651. | ||
| 2e9e758d | 2023-12-24 14:27:46 | dict: Get random seed from system PRNG | ||
| be558647 | 2023-12-05 21:25:09 | autotools: Fix option description | ||
| cf6e58d6 | 2023-12-05 20: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-28 15: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-23 15: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-22 02: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-16 13:34:03 | Bump version | ||
| 19161bab | 2023-09-25 14:00:48 | dict: Internal API to look up hash values | ||
| de4b270a | 2023-09-21 14:31:31 | autotools: Make --with-minimum disable lzma support Fix an oversight when handling the --with-minimum option. | ||
| e7f0d88b | 2023-09-21 01: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-04 09: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-04 09: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-02 17: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-02 16: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-01 14:52:14 | autoconf: Allow custom --with-icu configure option | ||
| c5989473 | 2023-09-01 14:52:11 | dict: Use thread-local storage for PRNG state | ||
| 57cfd221 | 2023-09-01 14:52:04 | dict: Use xoroshiro64** as PRNG Stop using rand_r. This enables hash randomization on all platforms. | ||
| 4e4c89a4 | 2023-08-21 00:26:01 | doc: Improve documentation of configuration options | ||
| 2473b485 | 2023-06-21 14:15:02 | autotools: fix Python module file ext for cygwin/msys2 both use .dll, not .pyd | ||
| cb8ccb10 | 2023-05-25 03:07:57 | testapi: Don't set http_proxy environment variable We already disable network access, so this has no effect. | ||
| 9fd57df8 | 2023-05-25 02: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-10 18:13:47 | autotools: Fix ICU detection Fixes #540. | ||
| 34630630 | 2023-05-05 17:34:57 | autoconf: fix iconv library paths and pass cflags when building executables See 0f77167f for prior related work | ||
| a8fe4900 | 2023-04-29 20:17:38 | autoconf: Only use --undefined-version with version scripts | ||
| d8f6e760 | 2023-04-29 19: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-28 14:51:06 | Bump version to 2.12.0 | ||
| 2df2562e | 2023-04-26 21:17:21 | autoconf: Add AC_LANG_SOURCE to fix warning | ||
| 1db3567c | 2023-04-19 12:19:36 | autoconf: Warn about outdated C compilers | ||
| 101a542e | 2022-12-21 21:47:10 | Remove RPM build, Makefile.tests, README.tests | ||
| e2bae1bc | 2022-09-20 14: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-07 18: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-07 18:10:03 | autotools: Only add network libraries if HTTP/FTP enabled | ||
| 5ff3baf0 | 2022-09-06 17:33:38 | python: Create .pyd on Windows | ||
| a41878bd | 2022-09-05 23:16:23 | build: Remove check for broken ss_family This only seemed to affect ancient AIX systems. | ||
| ad338459 | 2022-09-05 21:16:20 | autotools: Fix bug with multiline arguments Should fix #404. | ||
| adcf399b | 2022-09-05 15:36:13 | autotools: Try to fix bug with multiline arguments Only happens with older autoconf? | ||
| 30c8d9bb | 2022-09-05 02: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-05 01:08:33 | autotools: Fix network checks on Windows | ||
| 5d32b126 | 2022-09-04 22:05:16 | Fix detection of GNU libiconv GNU libiconv prefixes symbols with "lib". | ||
| 27b2b864 | 2022-09-04 18:32:55 | configure.ac: Also check for MSYS host | ||
| 3a1c5ee7 | 2022-09-04 18:22:30 | Disable fuzzer tests if glob.h wasn't found | ||
| ad6f10a8 | 2022-09-04 17: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-04 17:19:58 | Improve network library detection | ||
| 0048fd0a | 2022-09-04 03:48:49 | Detect ws2_32 with AC_SEARCH_LIBS | ||
| 60b03c9e | 2022-09-04 03:31:27 | Rework network configure checks Migrate to AC_SEARCH_LIBS. Don't pollute LIBS. | ||
| fe02289f | 2022-09-04 03:19:01 | Remove arg cast configure checks We can simply cast to non-const char * unconditionally. | ||
| 2d164d68 | 2022-09-04 02:54:20 | Fix dlopen check | ||
| 1e60c768 | 2022-09-04 01:49:41 | Remove HAVE_WIN32_THREADS configuration flag Check for LIBXML_THREAD_ENABLED and _WIN32 instead. | ||
| 13a66378 | 2022-09-04 01:05:51 | Remove BeOS support Haiku shouldn't be affected. |