meson.build


Log

Author Commit Date CI Message
Nick Wellnhofer b85d77d1 2025-04-20T14:31:24 http: Remove built-in HTTP client Stubs are retained for ABI compatibility. Fixes #631. Obsoletes #160.
Nick Wellnhofer fa931566 2025-04-14T17:34:39 build: Disable Python bindings by default
Nick Wellnhofer 3899546a 2025-04-13T23:46:17 meson: Consolidate host_os checks
Nick Wellnhofer 000e6afb 2025-04-13T23:04:22 meson: Fix libdl detection fallback Require dlopen, always set HAVE_DLOPEN.
Benjamin Gilbert ef73541a 2025-04-05T15:35:21 meson: don't link with pthreads on Windows dependency('threads') always produces '-pthread' on GNU-like linkers, even on Windows where we use Win32 thread primitives instead.
Nick Wellnhofer 89667318 2025-04-04T15:07:50 cmake, meson: Fix Darwin versions
Nick Wellnhofer 151c0f79 2025-04-04T12:44:42 cmake, meson: Align Darwin version info with Autotools
Lovell Fuller 88732cae 2025-04-04T11:26:10 meson: ensure relaxng option supports minimum option
Nick Wellnhofer 2dd51407 2025-03-27T22:57:19 cmake, meson: Change library filename to libxml2.so.16.0.0 We have to follow Autotools here. Fixes #882.
Nick Wellnhofer 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.
Nick Wellnhofer 5b5f114d 2025-03-13T20:30:44 meson: Add xmllint and xmlcatalog shell tests
Jan Alexander Steffens (heftig) 76c6ddfe 2025-03-13T18:32:18 meson: Install a xml2-config script This one does not need build-time configuration but forwards to `pkg-config` instead. It is mostly (and hopefully sufficiently) compatible with the script installed by autotools.
Nick Wellnhofer 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.
Nick Wellnhofer cdc5cfed 2025-03-04T13:26:51 legacy: Remove legacy symbols
Nick Wellnhofer 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.
Jan Alexander Steffens (heftig) 82fb5cae 2025-02-20T13:49:39 meson: Use project_name instead of 'libxml2'
Benjamin Gilbert cd7299a8 2025-01-24T18:59:12 meson: Fix setup with ICU as sibling subproject Meson wrapdb provides a wrap for ICU, so libxml2 and ICU could both be built as subprojects of the same Meson parent project. In this case, with the icu option enabled, setup was failing with: subprojects/libxml2-2.13.5/meson.build:603:22: ERROR: Could not get an internal variable and no default provided for <InternalDependency dep228908115162702543524838879388991448872: True> This is because we can't get a dependency variable from a subproject that hasn't been built yet. Fall back to assuming DEFS is empty, as it is on my system.
Kjell Ahlstedt f043bf25 2025-01-22T19:25:59 meson: Fix build with MSVC Check compiler options with cc.get_supported_arguments(). Fixes #842
Nick Wellnhofer b524cd7a 2025-01-21T17:35:04 meson: Fix build as subproject Use add_project_arguments instead of add_global_arguments. Should fix #840.
Nick Wellnhofer bfe6af2e 2025-01-17T17:09:04 fuzz: Remove hacks to build lint fuzzer Don't include source file directly.
Nick Wellnhofer afeff9c5 2024-12-21T20:47:40 xinclude: Allow build without XPath This disables XPath queries and makes the tests fail, but might be useful.
Nick Wellnhofer a11c28a6 2024-12-21T18:50:47 meson: Add warning options
Nick Wellnhofer df7cb96c 2024-12-21T18:55:51 build: Set C standard with CMake and meson This should add `/std:c11` to MSVC builds which makes sure that the __STDC_VERSION__ macro is set.
Nick Wellnhofer 3d4f7f47 2024-12-21T18:51:44 meson: Set WITH_HTTP for config.cmake
Nick Wellnhofer de478472 2024-11-22T00:45:44 build: Remove unused variables
Nick Wellnhofer 799104de 2024-11-21T23:38:22 build: Schema doesn't require XPath anymore
Nick Wellnhofer 52afde07 2024-11-21T23:17:07 build: Only build xmlcatalog executable if enabled
Nick Wellnhofer 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.
Nick Wellnhofer b57e022d 2024-11-13T19:08:47 build: Check for icu-uc instead of icu-i18n This should be the ICU component we actually need.
Nick Wellnhofer 567f612d 2024-08-19T17:43:32 build: Check for declaration of glob() function Don't rely on presence of glob.h.
makise-homura 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.
Nick Wellnhofer 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.
Nick Wellnhofer 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.
Nick Wellnhofer d7dc2eaf 2024-07-22T21:39:54 build: Don't check for dlfcn.h and dl.h It's enough to check for symbols.
Nick Wellnhofer 7c10393f 2024-07-22T17:25:15 build: Fix config.h macros We have to emulate AC_CHECK_DECLS. Instead of leaving the macro undefined if a symbol wasn't found, it has to be set to 0.
Nick Wellnhofer 0172ffa9 2024-07-22T15:21:36 build: Only check for required headers
Nick Wellnhofer 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.
Nick Wellnhofer 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.
Andrew Potter 67fa4a43 2024-07-03T13:40:04 meson: Disable python when python is disabled
Nick Wellnhofer e2a49afe 2024-07-03T20:18:24 build: Read version number from VERSION file
Nick Wellnhofer 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.
Nick Wellnhofer 606310a3 2024-07-03T18:05:05 meson: Set soversion
Chun-wei Fan a24b08bf 2024-07-01T15:47:29 meson: Don't always assume PThreads when using threads The libxml2 code has support for Windows threads as well, so use these instead on Windows when building threads support,
Nick Wellnhofer c195f06f 2024-06-25T22:14:47 autotools: Use AX_GCC_FUNC_ATTRIBUTE from autoconf archives
Nick Wellnhofer 1afaa371 2024-06-25T22:06:36 build: Move definition of ATTRIBUTE_DESTRUCTOR to libxml.h
Nick Wellnhofer 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.
Nick Wellnhofer dc6f55cf 2024-06-22T00:35:14 build: Remove check for IPv6 Only check for availability of netdb.h.
Nick Wellnhofer 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.
Rosen Penev 88cc61e3 2024-06-20T22:09:55 meson: simplify thread_local check Use a simple loop. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev 34fe4b88 2024-06-20T21:44:39 meson: simplify IPv6 check We only need to find AF_INET6. Also make it a feature. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev 609c51c5 2024-06-20T21:33:15 meson: simplify socklen_t check Use a simple loop. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Nick Wellnhofer c2ccbc0f 2024-06-21T22:45:15 meson: Implement option dependencies This also removes the FreeBSD hack.
Nick Wellnhofer 7ba6c8fe 2024-06-21T04:59:11 autotools: Remove libxml-2.0-uninstalled.pc
Rosen Penev 5803ad26 2024-06-18T17:05:09 meson: change history to a feature Simpler. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev e9948ee5 2024-06-18T16:47:15 meson: change readline to a feature Simpler and easier to force enable. Also removed wrong curses check. This is meant for static readline and not needed with meson. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Heiko Becker a4517bfe 2024-06-19T23:13:47 meson: Add libxml2 part of include dir to pc file The autotools build results in a pkgconfig file, which looks like this: " ... includedir=${prefix}/include ... Cflags: -I${includedir}/libxml2 " The latter part is missing when built with meson.
Rosen Penev 1d8bd126 2024-06-17T14:28:51 meson: fix icu and iconv om BSDs again libdir is needed when searching for iconv, not includedir. Remove OpenBSD from the bsd list. Something is wrong there and iconv.h is installed somewhere else. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev f61d23b8 2024-06-16T19:56:07 meson: only apply threads_dep to runtest Not needed elsewhere. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev b4b4162f 2024-06-15T19:41:08 meson: fix compilation on BSDs with icu+iconv on BSDs, icu is installed and included from /usr/local. When found, libiconv headers override the normal ones and thus result in a missing link. Work around this oddity and add the link. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev 915951b8 2024-06-16T18:19:42 meson: add DEFS to CFLAGS Adding a configuration flag as an include directory is wrong and errors on BSDs. ERROR: Include dir -DU_DISABLE_RENAMING=1 does not exist. Matches the autotools build now. Requires has_argument to fix non BSDs because of an annoying meson quirk. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Nick Wellnhofer 38488027 2024-06-16T21:16:43 xmllint: Support libreadline without history
Nick Wellnhofer 33a1f897 2024-06-16T19:16:47 legacy: Merge SAX.c into legacy.c
Nick Wellnhofer 1341deac 2024-06-16T17:57:12 xmllint: Move shell to xmllint Move source code for xmllint shell to shell.c and move it from the libxml2 library to the xmllint executable. Also allow shell to run without XPath and debug modules. Add stubs for old shell API functions in legacy build mode.
Nick Wellnhofer 481fd6bb 2024-06-16T16:30:54 tests: Remove testThreads.c This was merged into runtest.c some time ago.
Nick Wellnhofer 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.
Nick Wellnhofer 898e5a14 2024-06-15T20:17:18 build: Remove compiler TLS warning
Nick Wellnhofer e714f506 2024-06-15T20:14:03 build: Stop installing libxml.m4 This file is deprecated and unmaintained. It will be kept in the source tree for a while.
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.
Rosen Penev f2270863 2024-06-06T13:42:03 meson: convert boolean options to feature option Simpler. Seems like they're only disabled by minimum. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Andrew Potter ed3e53de 2024-06-06T10:50:19 meson: Pass LIBXML_STATIC in dependency
Rosen Penev 16d914a9 2024-06-03T17:09:17 meson: fix compilation with local binaries threads_dep is needed for runtest. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev 4b2f250a 2024-05-03T13:11:47 meson: don't use dl dependency on old meson dl dependency was introduced with version 0.62. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev 0160127f 2024-05-01T13:07:52 meson: fix usage as a subproject include directories must be passed to that projects can use headers. Also add override_dependencies to make sure that it's used when available as a subproject. Signed-off-by: Rosen Penev <rosenp@gmail.com>
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 e80f27fc 2024-05-21T18:37:57 build: Don't check for inttypes.h This header isn't used.
Nick Wellnhofer bd7cafdb 2024-05-20T23:46:37 meson: Add some TODO comments
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 bffef46c 2024-04-28T22:58:06 doc: Don't install example code
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.
Vincent Torri 5732ce56 2024-04-04T12:14:46 meson: Initial commit