From b2adc7f18c8976b4aaf18a7575b81fe5d9e9a814 Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Mon, 1 Mar 2021 17:13:07 +0100 Subject: build: prevent dupes in autotools.mk autotools.mk does not have any protection currently that would prevent it from being sourced multiple times. Note that both package.mk and host-build.mk source autotools.mk. So any package Makefile that includes both will cause hooks to be added twice (at least twice). This is fixed by declaring a new variable, __autotools_inc, and only continuing if this variable doesn't equal 1. The same is done by rules.mk already. Also, this commit does away with an ifneq that checks PKG_FIXUP (instead of HOST_FIXUP) for patch-libtool before adding to the host pre-configure hook. This does not make sense. The second ifneq is amended. The current one manually does what the define patch_libtool_host is already doing. It can just use the define. Signed-off-by: Sebastian Kemper --- include/autotools.mk | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/autotools.mk b/include/autotools.mk index eb52b55924..1686f69f87 100644 --- a/include/autotools.mk +++ b/include/autotools.mk @@ -2,6 +2,9 @@ # # Copyright (C) 2007-2020 OpenWrt.org +ifneq ($(__autotools_inc),1) +__autotools_inc=1 + autoconf_bool = $(patsubst %,$(if $($(1)),--enable,--disable)-%,$(2)) # delete *.la-files from staging_dir - we can not yet remove respective lines within all package @@ -152,12 +155,8 @@ define patch_libtool_host $(HOST_BUILD_DIR))) endef -ifneq ($(filter patch-libtool,$(PKG_FIXUP)),) - Hooks/HostConfigure/Pre += patch_libtool_host -endif - ifneq ($(filter patch-libtool,$(HOST_FIXUP)),) - Hooks/HostConfigure/Pre += $(strip $(call patch_libtool,$(HOST_BUILD_DIR))) + Hooks/HostConfigure/Pre += patch_libtool_host endif ifneq ($(filter libtool,$(HOST_FIXUP)),) @@ -177,3 +176,5 @@ ifneq ($(filter autoreconf,$(HOST_FIXUP)),) Hooks/HostConfigure/Pre += autoreconf_host endif endif + +endif #__autotools_inc -- cgit v1.2.3