|
c106455c
|
2024-06-21T04:18:04
|
|
build: Set Cflags.private on Windows
|
|
1a5ed747
|
2024-06-21T03:38:11
|
|
build: Fix XML_LIBDIR usage
|
|
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.
|
|
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.
|
|
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.
|
|
cf6cd81c
|
2022-04-03T02:18:25
|
|
Add WIN32_EXTRA_LIBADD to XML_PRIVATE_LIBS
|
|
141d784e
|
2022-04-02T21:06:47
|
|
build: Make use of variables in libxml's pkg-config file
Instead of hardcoding make use of available variables and optimize usage
|
|
5c71ada8
|
2022-03-30T16:51:17
|
|
Detect libm using libtool's macros
|
|
f859d9a7
|
2013-10-28T17:15:07
|
|
build: Add @LZMA_LIBS@ to libxml’s pkg-config files
If libxml2 is built and linked against liblzma, the latter needs to appear in
libxml2’s Libs.private pkg-config field, otherwise static linking against
libxml2 will fail due to unresolved liblzma symbols.
https://bugzilla.gnome.org/show_bug.cgi?id=711026
|
|
1f01f49b
|
2012-08-28T22:16:50
|
|
Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors
For https://bugzilla.gnome.org/show_bug.cgi?id=677606
For https://bugs.gentoo.org/show_bug.cgi?id=417539
If libxml2-2.8.0 is built with --with-icu --with-python on a system that has an
older version of libxml2 installed, then during "make install", libxml2mod.so
gets relinked to the systemwide version of libxml2.so.2 instead of libxml2.so.2
from the build tree, and fails at runtime if symbol versions from the older
libxml2.so.2 are not available. This effectively makes it impossible to build a
libxml2-2.8.0 binary package on a system that does not already have
libxml2-2.8.0 installed.
Investigation by Rafał Mużyło and Arfrever Frehtes Taifersar Arahesis revealed
the cause of the problem to be that libxml2's configure was adding ICU_LIBS to
LDFLAGS instead of to LIBADD. This resulted in GNU libtool using the wrong
argument order in its relinking command that gets run during "make install".
|
|
9031709b
|
2010-03-15T10:36:56
|
|
Fix missing win32 libraries in libxml-2.0.pc
The libxml-2.0.pc file doesn't contain the win32 specific libraries. So when
(cross-)compiling for Windows, the output of
pkg-config libxml-2.0 --libs
returns an incompile set of libraries. Thus, applications using libxml2's
network functionality fail to build for the win32 platform.
|
|
26ab0e6c
|
2006-10-11T12:32:51
|
|
applied patch from Mikhail Zabaluev to separate library flags for shared
* libxml-2.0.pc.in: applied patch from Mikhail Zabaluev to separate
library flags for shared and static builds, fixes #344594. If this
bites you, use xml2-config.
Daniel
|
|
9ea5565f
|
2005-06-14T10:35:37
|
|
removed a redundant include path Daniel
* libxml-2.0.pc.in: removed a redundant include path
Daniel
|
|
ce1648b1
|
2005-01-04T15:10:22
|
|
applied DSO support patch 2 from Joel Reed Daniel
* Makefile.am config.h.in configure.in error.c libxml-2.0.pc.in
testModule.c testdso.c xml2-config.in xmllint.c xmlmodule.c
include/libxml/Makefile.am include/libxml/xmlerror.h
include/libxml/xmlmodule.h include/libxml/xmlversion.h.in
include/libxml/xmlwin32version.h.in: applied DSO support
patch 2 from Joel Reed
Daniel
|
|
0aaaacdb
|
2003-01-06T10:59:57
|
|
applied the patch to fix #101894 Daniel
* libxml-2.0.pc.in: applied the patch to fix #101894
Daniel
|
|
b82c1669
|
2001-12-09T14:00:54
|
|
do not reference strdup() ! trying to fix the libs of the various config
* globals.c: do not reference strdup() !
* configure.in libxml-2.0.pc.in: trying to fix the libs
of the various config extraction modules
Daniel
|
|
98fed37a
|
2001-09-13T11:34:58
|
|
dohh generated the wrong include path :-( re-dohh forgot the new manpage
* libxml-2.0.pc.in: dohh generated the wrong include path :-(
* doc/Makefile.am libxml.spec.in: re-dohh forgot the new manpage :-(
Daniel
|
|
07cdb2a8
|
2001-09-12T20:19:58
|
|
moved includes to includedir/libxml2/libxml, updated the configuration
* config.h.in configure.in libxml.spec.in include/libxml/Makefile.am
libxml-2.0.pc.in: moved includes to includedir/libxml2/libxml,
updated the configuration scripts systems accordingly
|
|
3473f88a
|
2001-02-23T17:55:21
|
|
Revert directory structure changes
|
|
64636e7f
|
2001-02-23T01:37:32
|
|
moved to libxml directory - this allow simplify automake/autoconf. Now
Thu Feb 23 02:03:56 CET 2001 Tomasz K³oczko <kloczek@pld.org.pl>
* *.c *.h libxml files: moved to libxml directory - this allow
simplify automake/autoconf. Now isn't neccessary hack on
am/ac level for make and remove libxml symlink (modified for this
also configure.in and main Makefile.am). Now automake abilities
are used in best way (like in many other projects with libraries).
* include/win32config.h: moved to libxml directory (now include
directory isn't neccessary).
* Makefile.am, examples/Makefile.am, libxml/Makefile.am:
added empty DEFS and in INCLUDES rest only -I$(top_builddir) -
this allow minimize parameters count passed to libtool script
(now compilation is also slyghtly more quiet).
* configure.in: simplifies libzdetestion - prepare separated
variables for keep libz name and path to libz header files isn't
realy neccessary (if someone have libz installed in non standard
prefix path to header files ald library can be passed as:
$ CFALGS="-I</libz.h/path>" LDFLAGS="-L</libz/path>" ./configure
* autogen.sh: check now for libxml/entities.h.
After above building libxml pass correctly and also pass
"make install DESTDIR=</install/prefix>" from tar ball generated by
"make dist". Seems ac/am reorganization is finished. This changes
not touches any other things on *.{c,h} files level.
|
|
ee0a4660
|
2001-01-27T18:59:33
|
|
- Makefile.am configure.in libxml-2.0.pc.in: started working on getting
libxml2-devel installable in // as libxml-devel.
Daniel
|
|
1b478d11
|
2000-09-30T02:27:55
|
|
Use the correct pkg-config syntax
(the pkg-config that comes with the RedHat 7.0 glib-gtkbeta RPM
and not the one from pkgconfig.sourceforge.net which is old).
|
|
dd7d1f6d
|
2000-09-29T23:17:57
|
|
Provide pkg-config script.
2000-09-30 Martin Baulig <baulig@suse.de>
* libxml-2.0.pc.in: Provide pkg-config script.
* configure.in: Create the libxml-2.0.pc script from the
libxml-2.0.pc.in templates.
* Makefile.am (pkgconfig_DATA): Install the libxml-2.0.pc
script in `$(libexecdir)/pkgconfig'.
|