lkml.org 
[lkml]   [2013]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [3.7-rc6] Build failure with scripts/Makefile.headersinst
On Mon, Mar 04, 2013 at 12:07:31AM +0900, Tetsuo Handa wrote:
> Sam Ravnborg wrote:
> > On Wed, Nov 28, 2012 at 01:55:14PM +0000, David Howells wrote:
> > > Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> wrote:
> > >
> > > > Tetsuo Handa wrote:
> > > > > Linux 3.6 builds fine. I can't use "git bisect" until Linux 3.7-rc6 but
> > > > > possibly caused by either commit 10b63956 "UAPI: Plumb the UAPI Kbuilds
> > > > > into the user header installation and checking" or commit 40f1d4c2 "UAPI:
> > > > > Remove the objhdr-y export list".
> > > >
> > > > Bisected to commit 10b63956 "UAPI: Plumb the UAPI Kbuilds into the user header
> > > > installation and checking".
> > >
> > > Indeed, but that doesn't help much. The problem is that make's behaviour has
> > > apparently changed. I could do with Sam Ravnborg's help to work around this
> > > since I think he's mainly responsible for the Makefile infrastructure.
> >
> > Mical is the kbuild person these days.
> > Anyway - it this still relevant?
> >
> Yes, as of commit a7c1120d "Merge tag 'ext4_for_linus' of
> git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4" in linux.git still
> has this problem.
>
> > I took a quick look and my suspect is the use of $(or ..),
> > as this feature was added recently to make.

Hi Tetsuo.

If my guess is correct this patch should help.
I have gmake 3.81 and I do nto see the beforementioned problem.

Sam

diff --git a/scripts/Makefile.headersinst b/scripts/Makefile.headersinst
index 25f216a..477d137 100644
--- a/scripts/Makefile.headersinst
+++ b/scripts/Makefile.headersinst
@@ -14,7 +14,7 @@ kbuild-file := $(srctree)/$(obj)/Kbuild
include $(kbuild-file)

# called may set destination dir (when installing to asm/)
-_dst := $(or $(destination-y),$(dst),$(obj))
+_dst := $(if $(destination-y),$(destination-y),$(if $(dst),$(dst),$(obj)))

old-kbuild-file := $(srctree)/$(subst uapi/,,$(obj))/Kbuild
ifneq ($(wildcard $(old-kbuild-file)),)
@@ -48,13 +48,14 @@ all-files := $(header-y) $(genhdr-y) $(wrapper-files)
output-files := $(addprefix $(installdir)/, $(all-files))

input-files := $(foreach hdr, $(header-y), \
- $(or \
+ $(if $(wildcard $(srcdir)/$(hdr)), \
$(wildcard $(srcdir)/$(hdr)), \
- $(wildcard $(oldsrcdir)/$(hdr)), \
- $(error Missing UAPI file $(srcdir)/$(hdr)) \
+ $(if $(wildcard $(oldsrcdir)/$(hdr)), \
+ $(wildcard $(oldsrcdir)/$(hdr)), \
+ $(error Missing UAPI file $(srcdir)/$(hdr))) \
)) \
$(foreach hdr, $(genhdr-y), \
- $(or \
+ $(if $(wildcard $(gendir)/$(hdr)), \
$(wildcard $(gendir)/$(hdr)), \
$(error Missing generated UAPI file $(gendir)/$(hdr)) \
))

\
 
 \ /
  Last update: 2013-03-03 17:21    [W:2.380 / U:1.608 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site