linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tools: Use builtin $(abspath ...) instead of $(shell cd ... && pwd)
@ 2016-04-08  9:15 Thierry Reding
  2016-04-18 14:46 ` Michal Marek
  0 siblings, 1 reply; 6+ messages in thread
From: Thierry Reding @ 2016-04-08  9:15 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, linux-kernel

From: Thierry Reding <treding@nvidia.com>

Avoid forking off a shell to resolve the absolute path of the output
directory when make's builtin $(abspath ...) function will do an
adequate job.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 Makefile                       | 4 ++--
 tools/scripts/Makefile.include | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 173437debc87..c1e3ece3684f 100644
--- a/Makefile
+++ b/Makefile
@@ -1542,11 +1542,11 @@ image_name:
 # Clear a bunch of variables before executing the submake
 tools/: FORCE
 	$(Q)mkdir -p $(objtree)/tools
-	$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && /bin/pwd) subdir=tools -C $(src)/tools/
+	$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(src)/tools/
 
 tools/%: FORCE
 	$(Q)mkdir -p $(objtree)/tools
-	$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && /bin/pwd) subdir=tools -C $(src)/tools/ $*
+	$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(src)/tools/ $*
 
 # Single targets
 # ---------------------------------------------------------------------------
diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include
index 5467da41dc72..4d34d0729ac9 100644
--- a/tools/scripts/Makefile.include
+++ b/tools/scripts/Makefile.include
@@ -1,7 +1,7 @@
 ifneq ($(O),)
 ifeq ($(origin O), command line)
 	dummy := $(if $(shell test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
-	ABSOLUTE_O := $(shell cd $(O) ; pwd)
+	ABSOLUTE_O := $(abspath $(O))
 	OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/)
 	COMMAND_O := O=$(ABSOLUTE_O)
 ifeq ($(objtree),)
-- 
2.8.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] tools: Use builtin $(abspath ...) instead of $(shell cd ... && pwd)
  2016-04-08  9:15 [PATCH] tools: Use builtin $(abspath ...) instead of $(shell cd ... && pwd) Thierry Reding
@ 2016-04-18 14:46 ` Michal Marek
  2016-04-18 15:05   ` Thierry Reding
  0 siblings, 1 reply; 6+ messages in thread
From: Michal Marek @ 2016-04-18 14:46 UTC (permalink / raw)
  To: Thierry Reding; +Cc: linux-kbuild, linux-kernel

On 2016-04-08 11:15, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
> 
> Avoid forking off a shell to resolve the absolute path of the output
> directory when make's builtin $(abspath ...) function will do an
> adequate job.

The abspath function is not available in make 3.80.

Michal

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] tools: Use builtin $(abspath ...) instead of $(shell cd ... && pwd)
  2016-04-18 14:46 ` Michal Marek
@ 2016-04-18 15:05   ` Thierry Reding
  2016-04-18 15:17     ` Maciej W. Rozycki
  0 siblings, 1 reply; 6+ messages in thread
From: Thierry Reding @ 2016-04-18 15:05 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-kbuild, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 771 bytes --]

On Mon, Apr 18, 2016 at 04:46:53PM +0200, Michal Marek wrote:
> On 2016-04-08 11:15, Thierry Reding wrote:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > Avoid forking off a shell to resolve the absolute path of the output
> > directory when make's builtin $(abspath ...) function will do an
> > adequate job.
> 
> The abspath function is not available in make 3.80.

Do we really support make 3.80? It was released in 2002 and 3.81
followed in April 2006. That makes it a decade old now. I'd be surprised
if anyone was still using it to build recent kernels.

Is there a formal process for increasing the dependencies listed in
Documentation/Changes? Should I simply make that change as part of this
patch? Do we need broad approval?

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] tools: Use builtin $(abspath ...) instead of $(shell cd ... && pwd)
  2016-04-18 15:05   ` Thierry Reding
@ 2016-04-18 15:17     ` Maciej W. Rozycki
  2016-04-18 15:32       ` Thierry Reding
  0 siblings, 1 reply; 6+ messages in thread
From: Maciej W. Rozycki @ 2016-04-18 15:17 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Michal Marek, linux-kbuild, linux-kernel

On Mon, 18 Apr 2016, Thierry Reding wrote:

> > > Avoid forking off a shell to resolve the absolute path of the output
> > > directory when make's builtin $(abspath ...) function will do an
> > > adequate job.
> > 
> > The abspath function is not available in make 3.80.
> 
> Do we really support make 3.80? It was released in 2002 and 3.81
> followed in April 2006. That makes it a decade old now. I'd be surprised
> if anyone was still using it to build recent kernels.
> 
> Is there a formal process for increasing the dependencies listed in
> Documentation/Changes? Should I simply make that change as part of this
> patch? Do we need broad approval?

 Hmm, what problem are you trying to solve here?  Your proposal looks to 
me like a gratuitous requirement for users to upgrade their tool (its age 
doesn't matter), which is often a burden and in any case requires extra 
time which could be used for something else.  Don't fix what ain't broke!

  Maciej

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] tools: Use builtin $(abspath ...) instead of $(shell cd ... && pwd)
  2016-04-18 15:17     ` Maciej W. Rozycki
@ 2016-04-18 15:32       ` Thierry Reding
  2017-05-19  2:07         ` Masahiro Yamada
  0 siblings, 1 reply; 6+ messages in thread
From: Thierry Reding @ 2016-04-18 15:32 UTC (permalink / raw)
  To: Maciej W. Rozycki; +Cc: Michal Marek, linux-kbuild, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1100 bytes --]

On Mon, Apr 18, 2016 at 04:17:26PM +0100, Maciej W. Rozycki wrote:
> On Mon, 18 Apr 2016, Thierry Reding wrote:
> 
> > > > Avoid forking off a shell to resolve the absolute path of the output
> > > > directory when make's builtin $(abspath ...) function will do an
> > > > adequate job.
> > > 
> > > The abspath function is not available in make 3.80.
> > 
> > Do we really support make 3.80? It was released in 2002 and 3.81
> > followed in April 2006. That makes it a decade old now. I'd be surprised
> > if anyone was still using it to build recent kernels.
> > 
> > Is there a formal process for increasing the dependencies listed in
> > Documentation/Changes? Should I simply make that change as part of this
> > patch? Do we need broad approval?
> 
>  Hmm, what problem are you trying to solve here?  Your proposal looks to 
> me like a gratuitous requirement for users to upgrade their tool (its age 
> doesn't matter), which is often a burden and in any case requires extra 
> time which could be used for something else.  Don't fix what ain't broke!

Fine.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] tools: Use builtin $(abspath ...) instead of $(shell cd ... && pwd)
  2016-04-18 15:32       ` Thierry Reding
@ 2017-05-19  2:07         ` Masahiro Yamada
  0 siblings, 0 replies; 6+ messages in thread
From: Masahiro Yamada @ 2017-05-19  2:07 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Maciej W. Rozycki, Michal Marek, Linux Kbuild mailing list,
	Linux Kernel Mailing List

Hi Thierry,


2016-04-19 0:32 GMT+09:00 Thierry Reding <thierry.reding@gmail.com>:
> On Mon, Apr 18, 2016 at 04:17:26PM +0100, Maciej W. Rozycki wrote:
>> On Mon, 18 Apr 2016, Thierry Reding wrote:
>>
>> > > > Avoid forking off a shell to resolve the absolute path of the output
>> > > > directory when make's builtin $(abspath ...) function will do an
>> > > > adequate job.
>> > >
>> > > The abspath function is not available in make 3.80.
>> >
>> > Do we really support make 3.80? It was released in 2002 and 3.81
>> > followed in April 2006. That makes it a decade old now. I'd be surprised
>> > if anyone was still using it to build recent kernels.
>> >
>> > Is there a formal process for increasing the dependencies listed in
>> > Documentation/Changes? Should I simply make that change as part of this
>> > patch? Do we need broad approval?
>>
>>  Hmm, what problem are you trying to solve here?  Your proposal looks to
>> me like a gratuitous requirement for users to upgrade their tool (its age
>> doesn't matter), which is often a burden and in any case requires extra
>> time which could be used for something else.  Don't fix what ain't broke!
>
> Fine.
>
> Thierry


Are you still interested in this patch?

Actually, Kbuild had not been working with GNU Make 3.80
before you submitted this patch.
(In other words, Kbuild had already depended on GNU Make 3.81)


Now Kbuild _officially_ depends on GNU Make 3.81
(commit 37d69ee30808), so I think your patch is acceptable
and $(abspath ...) looks cleaner to me.
This patch no longer applies, so you need to rebase it, though.

-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-05-19  2:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-08  9:15 [PATCH] tools: Use builtin $(abspath ...) instead of $(shell cd ... && pwd) Thierry Reding
2016-04-18 14:46 ` Michal Marek
2016-04-18 15:05   ` Thierry Reding
2016-04-18 15:17     ` Maciej W. Rozycki
2016-04-18 15:32       ` Thierry Reding
2017-05-19  2:07         ` Masahiro Yamada

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).