* [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).