1
0
mirror of https://github.com/GNOME/libxml2.git synced 2025-05-08 21:07:54 +08:00

88 Commits

Author SHA1 Message Date
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