Nick Wellnhofer
8c032073eb
doc: More Doxygen cleanup
...
- Move Doxyfile into doc directory
- Add files to EXTRA_DIST
- Remove conversion script
- Add docs to Meson summary
2025-05-02 23:16:07 +02:00
Nick Wellnhofer
bbe5827c94
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.
2025-05-02 13:33:34 +02:00
Nick Wellnhofer
75dde50b20
cmake: Fix installation directories in libxml2-config.cmake
...
Use AX_RECURSIVE_EVAL with Autotools and remove hack using parent
directories.
Fixes #898 .
2025-05-01 21:10:30 +02:00
Nick Wellnhofer
b85d77d156
http: Remove built-in HTTP client
...
Stubs are retained for ABI compatibility.
Fixes #631 .
Obsoletes #160 .
2025-04-20 18:21:06 +02:00
Nick Wellnhofer
fa931566d2
build: Disable Python bindings by default
2025-04-17 20:01:16 +02:00
Nick Wellnhofer
3899546aaa
meson: Consolidate host_os checks
2025-04-13 23:46:17 +02:00
Nick Wellnhofer
000e6afbf0
meson: Fix libdl detection fallback
...
Require dlopen, always set HAVE_DLOPEN.
2025-04-13 23:39:41 +02:00
Benjamin Gilbert
ef73541a5a
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.
2025-04-05 15:35:21 -04:00
Nick Wellnhofer
8966731884
cmake, meson: Fix Darwin versions
2025-04-04 15:07:50 +02:00
Nick Wellnhofer
151c0f795d
cmake, meson: Align Darwin version info with Autotools
2025-04-04 12:48:28 +02:00
Lovell Fuller
88732cae7d
meson: ensure relaxng option supports minimum option
2025-04-04 11:26:10 +01:00
Nick Wellnhofer
2dd514078e
cmake, meson: Change library filename to libxml2.so.16.0.0
...
We have to follow Autotools here.
Fixes #882 .
2025-03-27 23:07:49 +01:00
Nick Wellnhofer
884c899696
build: Don't make --with-legacy enable HTTP and LZMA
...
The --with-legacy option only enables --with-zlib for now.
2025-03-16 12:14:33 +01:00
Nick Wellnhofer
5b5f114d81
meson: Add xmllint and xmlcatalog shell tests
2025-03-13 22:15:10 +01:00
Jan Alexander Steffens (heftig)
76c6ddfef9
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.
2025-03-13 18:36:32 +01:00
Nick Wellnhofer
d9ea76505d
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.
2025-03-04 18:00:24 +01:00
Nick Wellnhofer
cdc5cfed0b
legacy: Remove legacy symbols
2025-03-04 16:54:05 +01:00
Nick Wellnhofer
e50d314a27
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.
2025-03-01 15:18:20 +01:00
Jan Alexander Steffens (heftig)
82fb5caee5
meson: Use project_name instead of 'libxml2'
2025-02-20 13:53:25 +01:00
Benjamin Gilbert
cd7299a8e3
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.
2025-01-24 18:59:12 -08:00
Kjell Ahlstedt
f043bf2522
meson: Fix build with MSVC
...
Check compiler options with cc.get_supported_arguments().
Fixes #842
2025-01-22 19:25:59 +01:00
Nick Wellnhofer
b524cd7af2
meson: Fix build as subproject
...
Use add_project_arguments instead of add_global_arguments.
Should fix #840 .
2025-01-21 17:35:04 +01:00
Nick Wellnhofer
bfe6af2eed
fuzz: Remove hacks to build lint fuzzer
...
Don't include source file directly.
2025-01-17 20:06:45 +01:00
Nick Wellnhofer
afeff9c52b
xinclude: Allow build without XPath
...
This disables XPath queries and makes the tests fail, but might be
useful.
2024-12-21 21:58:25 +01:00
Nick Wellnhofer
df7cb96c50
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.
2024-12-21 19:37:38 +01:00
Nick Wellnhofer
3d4f7f47b9
meson: Set WITH_HTTP for config.cmake
2024-12-21 19:37:38 +01:00
Nick Wellnhofer
a11c28a6fc
meson: Add warning options
2024-12-21 19:37:38 +01:00
Nick Wellnhofer
de47847293
build: Remove unused variables
2024-11-22 01:54:28 +01:00
Nick Wellnhofer
799104defb
build: Schema doesn't require XPath anymore
2024-11-21 23:43:23 +01:00
Nick Wellnhofer
52afde07c1
build: Only build xmlcatalog executable if enabled
2024-11-21 23:43:23 +01:00
Nick Wellnhofer
a5764b56d2
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.
2024-11-21 22:44:02 +01:00
Nick Wellnhofer
b57e022d75
build: Check for icu-uc instead of icu-i18n
...
This should be the ICU component we actually need.
2024-11-13 19:10:45 +01:00
Nick Wellnhofer
567f612d29
build: Check for declaration of glob() function
...
Don't rely on presence of glob.h.
2024-08-19 17:57:43 +02:00
makise-homura
5c60860905
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.
2024-08-16 22:35:54 +03:00
Nick Wellnhofer
e1291059af
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.
2024-07-22 23:03:55 +02:00
Nick Wellnhofer
cc03c069f5
build: Don't check for standard POSIX headers
...
These headers should be available since early POSIX days and are
required no matter what.
2024-07-22 23:02:59 +02:00
Nick Wellnhofer
d7dc2eaf06
build: Don't check for dlfcn.h and dl.h
...
It's enough to check for symbols.
2024-07-22 21:39:54 +02:00
Nick Wellnhofer
7c10393fc0
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.
2024-07-22 17:41:41 +02:00
Nick Wellnhofer
0172ffa99b
build: Only check for required headers
2024-07-22 17:03:27 +02:00
Nick Wellnhofer
3ef6661175
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.
2024-07-22 17:03:27 +02:00
Nick Wellnhofer
e1657f3f27
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 .
2024-07-22 17:03:27 +02:00
Andrew Potter
67fa4a43f3
meson: Disable python when python is disabled
2024-07-03 13:40:04 -07:00
Nick Wellnhofer
e2a49afe3e
build: Read version number from VERSION file
2024-07-03 20:32:23 +02:00
Nick Wellnhofer
c3731347c4
build: Introduce LIBXML_MINOR_COMPAT
...
This is set to 0 for now but could be used to avoid ABI stability
issues.
2024-07-03 18:33:16 +02:00
Nick Wellnhofer
606310a381
meson: Set soversion
2024-07-03 18:05:05 +02:00
Chun-wei Fan
a24b08bf40
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,
2024-07-01 15:47:29 +08:00
Nick Wellnhofer
c195f06fac
autotools: Use AX_GCC_FUNC_ATTRIBUTE from autoconf archives
2024-06-25 22:19:47 +02:00
Nick Wellnhofer
1afaa37128
build: Move definition of ATTRIBUTE_DESTRUCTOR to libxml.h
2024-06-25 22:06:36 +02:00
Nick Wellnhofer
84a4f84c1c
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.
2024-06-22 18:41:00 +02:00
Nick Wellnhofer
dc6f55cf6e
build: Remove check for IPv6
...
Only check for availability of netdb.h.
2024-06-22 18:41:00 +02:00