[openwrt/openwrt] build: disable automake dependency tracking

LEDE Commits lede-commits at lists.infradead.org
Mon Mar 13 14:59:04 PDT 2023


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/129be247a6a0cb11132691bdf27104f48ab08530

commit 129be247a6a0cb11132691bdf27104f48ab08530
Author: Michael Pratt <mcpratt at pm.me>
AuthorDate: Wed Aug 24 22:32:13 2022 -0400

    build: disable automake dependency tracking
    
    Recent versions of Automake
    have changed dependency tracking significantly
    (reference commit below)
    causing breakage in some package builds
    when using newer Automake with packages that need autoreconf
    that were bootstrapped with an old version of Automake.
    
    Those changes cause a great inconsistency between packages over time
    where some packages may or may not use this feature,
    and may or may not update the .ac and .am files
    to work with the new methods.
    This problem might exist in many packages
    where autoreconf is not currently required,
    but would cause build failure if autoreconf is used.
    
    Fortunately, this feature is practically useless
    for the purposes of Openwrt and the average developer,
    so we can disable it.
    
    GNU Automake manual states in part:
    
      "Because dependencies are only computed as a side-effect of compilation...
       no dependency information exists the first time a package is built...
       dependency tracking is completely useless for one-time builds..."
    
    A nice side-effect is that build times are slightly faster.
    
    Ref: 6a675ef17edf7109da189f5ae70e2dc6b7665896 (automake.git)
    Signed-off-by: Michael Pratt <mcpratt at pm.me>
---
 include/host-build.mk       | 1 +
 include/package-defaults.mk | 1 +
 2 files changed, 2 insertions(+)

diff --git a/include/host-build.mk b/include/host-build.mk
index 2cc1ec5842..b7fb0a737f 100644
--- a/include/host-build.mk
+++ b/include/host-build.mk
@@ -59,6 +59,7 @@ HOST_CONFIGURE_ARGS = \
 	--target=$(GNU_HOST_NAME) \
 	--host=$(GNU_HOST_NAME) \
 	--build=$(GNU_HOST_NAME) \
+	--disable-dependency-tracking \
 	--program-prefix="" \
 	--program-suffix="" \
 	--prefix=$(HOST_BUILD_PREFIX) \
diff --git a/include/package-defaults.mk b/include/package-defaults.mk
index 72f88b9bbb..2cff26b531 100644
--- a/include/package-defaults.mk
+++ b/include/package-defaults.mk
@@ -80,6 +80,7 @@ CONFIGURE_ARGS = \
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
+		--disable-dependency-tracking \
 		--program-prefix="" \
 		--program-suffix="" \
 		--prefix=$(CONFIGURE_PREFIX) \




More information about the lede-commits mailing list