All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Korsgaard <peter@korsgaard.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 3/3] make: install host-make as host-make
Date: Mon, 19 Nov 2018 15:02:28 +0100	[thread overview]
Message-ID: <20181119140228.19937-3-peter@korsgaard.com> (raw)
In-Reply-To: <20181119140228.19937-1-peter@korsgaard.com>

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                    | 7 +++++++
 support/dependencies/check-host-make.mk | 4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/package/make/make.mk b/package/make/make.mk
index 1471576850..31915d192e 100644
--- a/package/make/make.mk
+++ b/package/make/make.mk
@@ -23,5 +23,12 @@ endif
 HOST_MAKE_DEPENDENCIES = host-pkgconf
 HOST_MAKE_CONF_OPTS = --without-guile
 
+# Rename host-make binary to ensure it isn't accidently used by
+# packages when they invoke recursive / sub-make.
+define HOST_MAKE_RENAME_BINARY
+	mv $(HOST_DIR)/bin/make $(HOST_DIR)/bin/host-make
+endef
+HOST_MAKE_POST_INSTALL_HOOKS += HOST_MAKE_RENAME_BINARY
+
 $(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

  parent reply	other threads:[~2018-11-19 14:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-19 14:02 [Buildroot] [PATCH 1/3] glibc: ensure BR2_MAKE is also used for subdirs Peter Korsgaard
2018-11-19 14:02 ` [Buildroot] [PATCH 2/3] make: drop gnumake/gmake aliases for host-make Peter Korsgaard
2018-11-19 14:02 ` Peter Korsgaard [this message]
2018-11-19 14:35   ` [Buildroot] [PATCH 3/3] make: install host-make as host-make yann.morin at orange.com
2018-11-19 14:56     ` Peter Korsgaard
2018-11-19 14:09 ` [Buildroot] [PATCH 1/3] glibc: ensure BR2_MAKE is also used for subdirs Baruch Siach
2018-11-19 14:27   ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181119140228.19937-3-peter@korsgaard.com \
    --to=peter@korsgaard.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.