[Buildroot] [PATCH v3 3/3] make: configure host-make with host- prefix

Peter Korsgaard peter at korsgaard.com
Mon Nov 19 16:25:15 UTC 2018


Fixes:
http://autobuild.buildroot.net/results/e29/e293aadc692d2ed337881ef2172ddf66a60bc05c/

And many more.

Install as 'host-make' rather than just 'make', as that otherwise confuses a
number of packages when they invoke recursive / sub-make.  The internal job
control logic of GNU make is version dependant, so mixing versions may lead
to issues like:

make[1]: Entering directory `/home/peko/autobuild/instance-0/output/build/boa-0.94.14rc21'
(cd src && make -w --jobserver-fds=5,6 -j)
make: unrecognized option '--jobserver-fds=5,6'

With this rename, only packages explicitly opting in for our host-make
(using the BR2_MAKE / BR2_MAKE_HOST_DEPENDENCY logic) will use it.

Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
v3: use --program-prefix instead of renaming post-install as suggested by Yann.
v2: No changes

 package/make/make.mk                    | 4 ++++
 support/dependencies/check-host-make.mk | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/package/make/make.mk b/package/make/make.mk
index 1471576850..10082353a2 100644
--- a/package/make/make.mk
+++ b/package/make/make.mk
@@ -23,5 +23,9 @@ endif
 HOST_MAKE_DEPENDENCIES = host-pkgconf
 HOST_MAKE_CONF_OPTS = --without-guile
 
+# Configure host-make binary to be 'host-make' to ensure it isn't
+# accidently used by packages when they invoke recursive / sub-make.
+HOST_MAKE_CONF_OPTS += --program-prefix=host-
+
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
diff --git a/support/dependencies/check-host-make.mk b/support/dependencies/check-host-make.mk
index 4235a393fd..66560ee85c 100644
--- a/support/dependencies/check-host-make.mk
+++ b/support/dependencies/check-host-make.mk
@@ -12,8 +12,8 @@ BR2_MAKE ?= $(call suitable-host-package,make,\
 	$(BR2_MAKE_VERSION_MIN) $(MAKE))
 
 ifeq ($(BR2_MAKE),)
-BR2_MAKE = $(HOST_DIR)/bin/make -j$(PARALLEL_JOBS)
-BR2_MAKE1 = $(HOST_DIR)/bin/make -j1
+BR2_MAKE = $(HOST_DIR)/bin/host-make -j$(PARALLEL_JOBS)
+BR2_MAKE1 = $(HOST_DIR)/bin/host-make -j1
 BR2_MAKE_HOST_DEPENDENCY = host-make
 else
 BR2_MAKE = $(MAKE)
-- 
2.11.0



More information about the buildroot mailing list