瀏覽代碼

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
884af65fd5ddc548f19a26162f905a32ef0b53b3, 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>
Thomas Petazzoni 10 年之前
父節點
當前提交
2c490f00c8
共有 3 個文件被更改,包括 3 次插入0 次删除
  1. 1 0
      package/autoconf-archive/autoconf-archive.mk
  2. 1 0
      package/libsigrok/libsigrok.mk
  3. 1 0
      package/thrift/thrift.mk

+ 1 - 0
package/autoconf-archive/autoconf-archive.mk

@@ -9,5 +9,6 @@ AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz
 AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive
 AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive
 AUTOCONF_ARCHIVE_LICENSE = GPLv3+ with exception
 AUTOCONF_ARCHIVE_LICENSE = GPLv3+ with exception
 AUTOCONF_ARCHIVE_LICENSE_FILES = COPYING COPYING.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))
 $(eval $(host-autotools-package))

+ 1 - 0
package/libsigrok/libsigrok.mk

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

+ 1 - 0
package/thrift/thrift.mk

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