Messages in this thread Patch in this message | | | Date | Sun, 3 Mar 2013 16:34:44 +0100 | From | Sam Ravnborg <> | Subject | Re: [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)) \ ))
| |