buildrootschalter/package/libxml2/libxml2.mk
Thomas Petazzoni de62a1ab61 libxml2: do not detect zlib/lzma when not available
The host-libxml2 package does not depend on zlib or lzma, but may
detect versions available on the host. This can cause problems in the
following situation:

 1 host-libxml2 is built, finds an available lzma library in the
   system, enables lzma support by using it.

 2 host-xz is built, which installs a different version of the lzma
   library into $(HOST_DIR)

 3 host-libxslt is built, tries to link against libxml2, which fails
   because now the visible lzma library is the one from
   $(HOST_DIR)/usr/lib and no longer the one libxml2 was built agains.

To fix this, this patch passes --without-zlib and --without-lzma to
the host package.

In addition, since the target variant of libxml2 does not have
provisions to depend on the target lzma, we also pass --without-lzma
for the target variant. The case of zlib for the target was already
properly taken into account.

Fixes:

  http://autobuild.buildroot.org/results/6dc/6dcef647eb0f0db7de3f34194eb15ceebc645b39/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-26 23:48:33 +01:00

59 lines
1.5 KiB
Makefile

################################################################################
#
# libxml2
#
################################################################################
LIBXML2_VERSION = 2.9.1
LIBXML2_SITE = ftp://xmlsoft.org/libxml2
LIBXML2_INSTALL_STAGING = YES
LIBXML2_AUTORECONF = YES
LIBXML2_LICENSE = MIT
LIBXML2_LICENSE_FILES = COPYING
LIBXML2_CONFIG_SCRIPTS = xml2-config
ifneq ($(BR2_LARGEFILE),y)
LIBXML2_CONF_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS) -DNO_LARGEFILE_SOURCE"
endif
LIBXML2_CONF_OPT = --with-gnu-ld --without-python --without-debug --without-lzma
HOST_LIBXML2_DEPENDENCIES = host-pkgconf
HOST_LIBXML2_CONF_OPT = --without-zlib --without-lzma
# mesa3d uses functions that are only available with debug
ifeq ($(BR2_PACKAGE_MESA3D),y)
HOST_LIBXML2_CONF_OPT += --with-debug
else
HOST_LIBXML2_CONF_OPT += --without-debug
endif
ifeq ($(BR2_PACKAGE_HOST_LIBXML2_PYTHON),y)
HOST_LIBXML2_DEPENDENCIES += host-python
HOST_LIBXML2_CONF_OPT += --with-python=$(HOST_DIR)/usr
else
HOST_LIBXML2_CONF_OPT += --without-python
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
LIBXML2_DEPENDENCIES += zlib
LIBXML2_CONF_OPT += --with-zlib
else
LIBXML2_CONF_OPT += --without-zlib
endif
LIBXML2_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv)
ifeq ($(BR2_ENABLE_LOCALE)$(BR2_PACKAGE_LIBICONV),y)
LIBXML2_CONF_OPT += --with-iconv
else
LIBXML2_CONF_OPT += --without-iconv
endif
$(eval $(autotools-package))
$(eval $(host-autotools-package))
# libxml2 for the host
LIBXML2_HOST_BINARY = $(HOST_DIR)/usr/bin/xmllint