make: configure host-make with host- prefix
authorPeter Korsgaard <peter@korsgaard.com>
Mon, 19 Nov 2018 16:25:15 +0000 (17:25 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 20 Nov 2018 07:17:43 +0000 (08:17 +0100)
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@korsgaard.com>
package/make/make.mk
support/dependencies/check-host-make.mk

index 1471576850078179a73a5631426d70734783f159..10082353a227a6ed1b1db6910a15ca3394b5b208 100644 (file)
@@ -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))
index 4235a393fdf885be1bc2e8e5a1f511d7d3b6fbaf..66560ee85c3d66b58e40fa8e41840b831fba047c 100644 (file)
@@ -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)