build: disable automake dependency tracking
authorMichael Pratt <mcpratt@pm.me>
Thu, 25 Aug 2022 02:32:13 +0000 (22:32 -0400)
committerHauke Mehrtens <hauke@hauke-m.de>
Mon, 13 Mar 2023 21:53:41 +0000 (22:53 +0100)
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@pm.me>
include/host-build.mk
include/package-defaults.mk

index 2cc1ec5842f6e55761a41e359dd3adf43bf7af7b..b7fb0a737f14a4ccd6009e82789cdd00a0e850c4 100644 (file)
@@ -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) \
index 72f88b9bbbdd3661b1df4039a45ca4b9729c79ae..2cff26b531735a54f8b73ecf164fc2d44e4c8790 100644 (file)
@@ -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) \