From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yann E. MORIN Date: Tue, 24 Mar 2015 21:57:09 +0100 Subject: [Buildroot] [PATCH] linux: add an option to install kernel headers into staging In-Reply-To: <1427191230-23152-1-git-send-email-nicolas.serafini@sensefly.com> References: <1427191230-23152-1-git-send-email-nicolas.serafini@sensefly.com> Message-ID: <20150324205709.GC4023@free.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Nicolas, All, On 2015-03-24 11:00 +0100, Nicolas Serafini spake thusly: > The kernel headers are installed into /usr/src/linux-headers-version > of the staging folder. > > These headers can be used, for example, by a post build script to > install or update some new headers from the kernel in /usr/include of > the staging. No, no. The kernel headers in staging are those that come from the toolchain. When the toolchain has been compiled, parts of it (notably the C library) have been configured according to whatever API/ABI the kernel headers where exporting to userland. Those headers can *not* be changed after the fact. So, this is a big NAK from me, sorry. Regards, Yann E. MORIN. > Signed-off-by: Nicolas Serafini > --- > linux/Config.in | 6 ++++++ > linux/linux.mk | 9 +++++++++ > 2 files changed, 15 insertions(+) > > diff --git a/linux/Config.in b/linux/Config.in > index fa3232f..dd97211 100644 > --- a/linux/Config.in > +++ b/linux/Config.in > @@ -354,6 +354,12 @@ config BR2_LINUX_KERNEL_INSTALL_TARGET > /boot if DTBs have been generated by the kernel build > process. > > +config BR2_LINUX_KERNEL_INSTALL_HEADERS > + bool "Install kernel headers to staging" > + help > + Select this option to have the kernel headers installed to > + staging in /usr/src/linux-headers-version folder. > + > # Linux extensions > source "linux/Config.ext.in" > > diff --git a/linux/linux.mk b/linux/linux.mk > index 5a0ba01..c7792d4 100644 > --- a/linux/linux.mk > +++ b/linux/linux.mk > @@ -7,6 +7,9 @@ > LINUX_VERSION = $(call qstrip,$(BR2_LINUX_KERNEL_VERSION)) > LINUX_LICENSE = GPLv2 > LINUX_LICENSE_FILES = COPYING > +ifeq ($(BR2_LINUX_KERNEL_INSTALL_HEADERS),y) > +LINUX_INSTALL_STAGING=YES > +endif > > # Compute LINUX_SOURCE and LINUX_SITE from the configuration > ifeq ($(BR2_LINUX_KERNEL_CUSTOM_TARBALL),y) > @@ -54,6 +57,7 @@ LINUX_MAKE_FLAGS = \ > HOSTCFLAGS="$(HOSTCFLAGS)" \ > ARCH=$(KERNEL_ARCH) \ > INSTALL_MOD_PATH=$(TARGET_DIR) \ > + INSTALL_HDR_PATH="$(STAGING_DIR)/usr/src/linux-headers-$(LINUX_VERSION)" \ > CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \ > DEPMOD=$(HOST_DIR)/sbin/depmod > > @@ -297,6 +301,11 @@ define LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET > endef > endif > > +ifeq ($(BR2_LINUX_KERNEL_INSTALL_HEADERS),y) > +define LINUX_INSTALL_STAGING_CMDS > + $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME) headers_install > +endef > +endif > > define LINUX_INSTALL_HOST_TOOLS > # Installing dtc (device tree compiler) as host tool, if selected > -- > 2.3.4 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'