host-autoconf-archive: install to a non-standard location

The host-autoconf-archive package was added to provide the necessary
autoconf macros for the libsigrok package, and later also used for the
thrift package.

However, it installs its autoconf macro in
$(HOST_DIR)/usr/share/aclocal, which is part of the include directory
of autoconf macros used for all autoreconf invocations. Unfortunately,
using those macros for all packages is causing a number of
regressions: one on host-ola fixed in commit
884af65fd5, and one in snmpp. Those
packages are autoreconf'ed, but if they are autoreconf'ed with the
autoconf-archive macros installed, they no longer work.

To solve this problem, this commit implements a simple solution that
makes using host-autoconf-archive macros an opt-in mechanism. To
achieve this, the autoconf-archive package is modified to install its
macros in a special directory, and only the packages that really want
to use those macros will have to pass a -I flag pointing to this
directory in their <pkg>_AUTORECONF_OPTS variable.

Fixes:

  http://autobuild.buildroot.org/results/712/712c8083b9eeafa41b60790961028c40b28f59ad/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Thomas Petazzoni 2015-05-14 22:57:15 +02:00 committed by Peter Korsgaard
parent 9e67d499f1
commit 2c490f00c8
3 changed files with 3 additions and 0 deletions

View File

@ -9,5 +9,6 @@ AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz
AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive
AUTOCONF_ARCHIVE_LICENSE = GPLv3+ with exception
AUTOCONF_ARCHIVE_LICENSE_FILES = COPYING COPYING.EXCEPTION
HOST_AUTOCONF_ARCHIVE_INSTALL_OPTS = aclocaldir=$(HOST_DIR)/usr/share/autoconf-archive install
$(eval $(host-autotools-package))

View File

@ -48,6 +48,7 @@ endif
ifeq ($(BR2_PACKAGE_LIBSIGROKCXX),y)
LIBSIGROK_CONF_OPTS += --enable-cxx
LIBSIGROK_AUTORECONF_OPTS += -I $(HOST_DIR)/usr/share/autoconf-archive
LIBSIGROK_DEPENDENCIES += \
host-autoconf-archive \
glibmm \

View File

@ -21,6 +21,7 @@ HOST_THRIFT_CONF_OPTS = --with-sysroot=$(HOST_DIR) \
--disable-tests \
--disable-tutorial
THRIFT_AUTORECONF = YES
THRIFT_AUTORECONF_OPTS = -I $(HOST_DIR)/usr/share/autoconf-archive
THRIFT_LICENSE = Apache-2.0
THRIFT_LICENSE_FILES = LICENSE