From: David Howells <dhowells@redhat.com>
To: Masahiro Yamada <yamada.masahiro@socionext.com>,
Michal Marek <michal.lkml@markovi.net>,
linux-kbuild@vger.kernel.org
Cc: dhowells@redhat.com, viro@zeniv.linux.org.uk, arnd@arndb.de,
sfr@canb.auug.org.au, nico@linaro.org,
linux-kernel@vger.kernel.org
Subject: Can we fix samples/ dependency on headers please?
Date: Wed, 01 Aug 2018 14:58:11 +0100 [thread overview]
Message-ID: <31061.1533131891@warthog.procyon.org.uk> (raw)
Hi,
I'm currently having to mark various userspace programs I've added to the
samples/ directory as BROKEN in samples/Kconfig because the root Makefile
mucks up the dependencies between building samples and headers_install.
The main culprit seems to be:
commit dd92478a15fa3bfd746ee08b4ef59401c1537804
Author: Nicolas Pitre <nicolas.pitre@linaro.org>
Date: Sun Feb 28 22:00:00 2016 -0500
kbuild: build sample modules along with the rest of the kernel
which make the samples build in parallel with the build, thereby voiding the
explicit dependency:
Documentation/ samples/: headers_install
and thereby breaking:
commit ddea05fa148b4d8e66498e522a616d87f9cf81e3
Author: Arnd Bergmann <arnd@arndb.de>
Date: Mon Jul 4 16:39:35 2016 +0200
kbuild: make samples depend on headers_install
The obvious fix is to revert commit dd92478a15fa3bfd746ee08b4ef59401c1537804
(see attached patch).
David
---
commit 5c186b58db93e2644012e2fcb4c6ca2e74c6754b
Author: David Howells <dhowells@redhat.com>
Date: Wed Aug 1 14:48:22 2018 +0100
Revert "kbuild: build sample modules along with the rest of the kernel"
This reverts commit dd92478a15fa3bfd746ee08b4ef59401c1537804.
The problem with this commit is that some of the samples require the header
installation to occur first, but building them in parallel with the rest of
the build breaks that requirement.
Signed-off-by: David Howells <dhowells@redhat.com>
diff --git a/Makefile b/Makefile
index ca2af1ab91eb..30fc0a37ad41 100644
--- a/Makefile
+++ b/Makefile
@@ -1009,16 +1009,14 @@ vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
ifdef CONFIG_HEADERS_CHECK
$(Q)$(MAKE) -f $(srctree)/Makefile headers_check
endif
+ifdef CONFIG_SAMPLES
+ $(Q)$(MAKE) $(build)=samples
+endif
ifdef CONFIG_GDB_SCRIPTS
$(Q)ln -fsn $(abspath $(srctree)/scripts/gdb/vmlinux-gdb.py)
endif
+$(call if_changed,link-vmlinux)
-# Build samples along the rest of the kernel
-ifdef CONFIG_SAMPLES
-vmlinux-dirs += samples
-endif
-
# The actual objects are generated when descending,
# make sure no implicit rule kicks in
$(sort $(vmlinux-deps)): $(vmlinux-dirs) ;
next reply other threads:[~2018-08-01 13:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-01 13:58 David Howells [this message]
2018-08-01 14:45 ` Can we fix samples/ dependency on headers please? Al Viro
2018-08-02 15:11 ` Masahiro Yamada
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=31061.1533131891@warthog.procyon.org.uk \
--to=dhowells@redhat.com \
--cc=arnd@arndb.de \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.lkml@markovi.net \
--cc=nico@linaro.org \
--cc=sfr@canb.auug.org.au \
--cc=viro@zeniv.linux.org.uk \
--cc=yamada.masahiro@socionext.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox