[Buildroot] [PATCH 2/3] package/automake: also include autoconf-archive in search paths

Michael Walle michael at walle.cc
Mon Feb 10 13:09:54 UTC 2020


Am 2020-02-10 14:06, schrieb Michael Walle:
> Hi Yann,
> 
> Am 2020-02-09 16:24, schrieb Yann E. MORIN:
>> All,
>> 
>> On 2020-02-09 16:12 +0100, Yann E. MORIN spake thusly:
>>> Since d255b67972 (autotools: do not overwrite first include path), 
>>> the
>>> ordering of include paths has changed: the system directories are
>>> specified with explicit options passed to autoreconf, which means 
>>> that
>>> any directory specified in the package _AUTORECONF_OPTS are no longer
>>> first:
>>> 
>>>   - in package/autoconf/autoconf.mk, we define AUTORECONF as:
>>>     AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I 
>>> "$(ACLOCAL_HOST_DIR)"
>>> 
>>>   - in package/pkg-autotools.mk, we call AUTORECONF with:
>>>     $($(PKG)_AUTORECONF_ENV) $(AUTORECONF) $($(PKG)_AUTORECONF_OPTS)
>>> 
>>> For a package that needs autoconf-archive, this means that it has to
>>> provide a custom include directive, in its own _AUTORECONF_OPTS. This 
>>> in
>>> turn means that this directory becomes the first, and goes directly
>>> opposite to what d255b67972 was supposed to accomplish.
>>> 
>>> However, the path to the autoconf archive macro directory is mnot
>>> searched by default either, so a package has no way to add such an
>>> aclocal include directive.
>>> 
>>> We can only add it in the global search directory, and we do so only 
>>> for
>>> those packages that have autoconf-archive in their dependencies.
>>> 
>>> Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
>>> Cc: Michael Walle <michael at walle.cc>
>>> Cc: Heiko Thiery <heiko.thiery at gmail.com>
>>> Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
>>> Cc: Arnout Vandecappelle <arnout at mind.be>
>>> Cc: Peter Korsgaard <peter at korsgaard.com>
>>> ---
>>>  package/automake/automake.mk | 8 +++++++-
>>>  1 file changed, 7 insertions(+), 1 deletion(-)
>>> 
>>> diff --git a/package/automake/automake.mk 
>>> b/package/automake/automake.mk
>>> index 89dcaa1293..238116cb94 100644
>>> --- a/package/automake/automake.mk
>>> +++ b/package/automake/automake.mk
>>> @@ -33,5 +33,11 @@ $(eval $(host-autotools-package))
>>>  AUTOMAKE = $(HOST_DIR)/bin/automake
>>>  ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
>>>  ACLOCAL = $(HOST_DIR)/bin/aclocal
>>> -ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR)
>>> +ACLOCAL_PATH = $(subst $(space),:,$(strip \
>>> +	$(ACLOCAL_DIR) \
>>> +	$(ACLOCAL_HOST_DIR) \
>>> +	$(if $(filter 
>>> host-autoconf-archive,$($(PKG)_FINAL_ALL_DEPENDENCIES)),\
>>> +		$(HOST_DIR)/share/autoconf-archive \
>>> +	) \
>>> +))
>> 
>> This makes check-package whine because it is not indented. Sigh...
>> Indenting with a TAB fixes the check-package error, and is still a
>> working fix.
> 
> This makes me wonder why these are installed into 
> share/autoconf-archive
> instead of $(ACLOCAL_HOST_DIR) in the first place. Eg. on my debian 
> system
> all the macros of autoconf-archive are installed to /usr/share/aclocal.

Ok, to answer this myself:
  
https://git.buildroot.net/buildroot/commit/?id=2c490f00c8d8a7d34ed6da9130cef8a5e97cef56

Still, maybe this has changed over time and there is no such bug 
anymore?

-michael


More information about the buildroot mailing list