diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2013-06-30 21:28:58 +0200 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2013-07-03 22:45:14 +0200 |
commit | 7f240d984b721c104fec6aee5710277c6955206b (patch) | |
tree | 0e12525ccb43293275d66a87b7b93c749ffe35ca /toolchain | |
parent | e21db000267cfbff000f1fc8c8e3329c5473ce1e (diff) | |
download | buildroot-7f240d984b721c104fec6aee5710277c6955206b.tar.gz buildroot-7f240d984b721c104fec6aee5710277c6955206b.zip |
kernel-headers: migrate to the package infrastructure
[Peter: fix file header]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/kernel-headers/Config.in | 84 | ||||
-rw-r--r-- | toolchain/kernel-headers/kernel-headers.mk | 87 | ||||
-rw-r--r-- | toolchain/kernel-headers/linux-3.0.85-headers_install-fix-__packed-in-exported-kernel-head.patch | 46 | ||||
-rw-r--r-- | toolchain/kernel-headers/linux-3.3.8-fix-umode_t.patch | 22 | ||||
-rw-r--r-- | toolchain/toolchain-buildroot.mk | 1 | ||||
-rw-r--r-- | toolchain/toolchain-buildroot/Config.in | 2 | ||||
-rw-r--r-- | toolchain/toolchain-external.mk | 1 | ||||
-rw-r--r-- | toolchain/uClibc/uclibc.mk | 13 |
8 files changed, 5 insertions, 251 deletions
diff --git a/toolchain/kernel-headers/Config.in b/toolchain/kernel-headers/Config.in deleted file mode 100644 index b10900fab0..0000000000 --- a/toolchain/kernel-headers/Config.in +++ /dev/null @@ -1,84 +0,0 @@ -# Choose the kernel headers to use for kernel-headers target. This is -# ignored if you are building your own kernel or using the system kernel. -# - -comment "Kernel Header Options" - -choice - prompt "Kernel Headers" - default BR2_KERNEL_HEADERS_3_9 - help - Select the version of kernel header files you wish to use. - You must select the correct set of header files to match - the kernel you intend to use on your target system. - - For the snapshot, you have to provide the - linux-2.6.tar.bz2 tarball in your download dir. - - config BR2_KERNEL_HEADERS_3_0 - bool "Linux 3.0.x kernel headers" - depends on !BR2_arc - - config BR2_KERNEL_HEADERS_3_1 - bool "Linux 3.1.x kernel headers" - depends on BR2_DEPRECATED && !BR2_arc - - config BR2_KERNEL_HEADERS_3_2 - bool "Linux 3.2.x kernel headers" - depends on !BR2_arc - - config BR2_KERNEL_HEADERS_3_3 - bool "Linux 3.3.x kernel headers" - depends on BR2_DEPRECATED && !BR2_arc - - config BR2_KERNEL_HEADERS_3_4 - bool "Linux 3.4.x kernel headers" - depends on !BR2_arc - - config BR2_KERNEL_HEADERS_3_5 - bool "Linux 3.5.x kernel headers" - depends on BR2_DEPRECATED && !BR2_arc - - config BR2_KERNEL_HEADERS_3_6 - bool "Linux 3.6.x kernel headers" - depends on BR2_DEPRECATED && !BR2_arc - - config BR2_KERNEL_HEADERS_3_7 - bool "Linux 3.7.x kernel headers" - depends on BR2_DEPRECATED && !BR2_arc - - config BR2_KERNEL_HEADERS_3_8 - bool "Linux 3.8.x kernel headers" - depends on BR2_DEPRECATED && !BR2_arc - - config BR2_KERNEL_HEADERS_3_9 - bool "Linux 3.9.x kernel headers" - - config BR2_KERNEL_HEADERS_VERSION - bool "Manually specified Linux version" - - config BR2_KERNEL_HEADERS_SNAP - bool "Local Linux snapshot (linux-2.6.tar.bz2)" -endchoice - -config BR2_DEFAULT_KERNEL_VERSION - string "linux version" - depends on BR2_KERNEL_HEADERS_VERSION - help - Specify the version you want to use. - E.G.: 3.6.10 - -config BR2_DEFAULT_KERNEL_HEADERS - string - default "3.0.85" if BR2_KERNEL_HEADERS_3_0 - default "3.1.10" if BR2_KERNEL_HEADERS_3_1 - default "3.2.47" if BR2_KERNEL_HEADERS_3_2 - default "3.3.8" if BR2_KERNEL_HEADERS_3_3 - default "3.4.52" if BR2_KERNEL_HEADERS_3_4 - default "3.5.7" if BR2_KERNEL_HEADERS_3_5 - default "3.6.11" if BR2_KERNEL_HEADERS_3_6 - default "3.7.10" if BR2_KERNEL_HEADERS_3_7 - default "3.8.13" if BR2_KERNEL_HEADERS_3_8 - default "3.9.9" if BR2_KERNEL_HEADERS_3_9 - default "2.6" if BR2_KERNEL_HEADERS_SNAP - default $BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/toolchain/kernel-headers/kernel-headers.mk b/toolchain/kernel-headers/kernel-headers.mk deleted file mode 100644 index a04395b41a..0000000000 --- a/toolchain/kernel-headers/kernel-headers.mk +++ /dev/null @@ -1,87 +0,0 @@ -################################################################################ -# -# Setup the kernel headers. I include a generic package of -# kernel headers here, so you shouldn't need to include your -# own. Be aware these kernel headers _will_ get blown away -# by a 'make clean' so don't put anything sacred in here... -# -################################################################################ - -DEFAULT_KERNEL_HEADERS:=$(call qstrip,$(BR2_DEFAULT_KERNEL_HEADERS)) - -LINUX_HEADERS_SITE:=127.0.0.1 -LINUX_HEADERS_SOURCE:=unspecified-kernel-headers -LINUX_HEADERS_UNPACK_DIR:=$(TOOLCHAIN_DIR)/linux-libc-headers-null - -# parse linux version string -LNXVER:=$(subst ., , $(strip $(DEFAULT_KERNEL_HEADERS))) -VERSION:=$(word 1, $(LNXVER)) -PATCHLEVEL:=$(word 2, $(LNXVER)) -SUBLEVEL:=$(word 3, $(LNXVER)) -EXTRAVERSION:=$(word 4, $(LNXVER)) -LOCALVERSION:= - -# should contain prepended dot -SUBLEVEL:=$(if $(SUBLEVEL),.$(SUBLEVEL),) -EXTRAVERSION:=$(if $(EXTRAVERSION),.$(EXTRAVERSION),) - -LINUX_HEADERS_VERSION:=$(VERSION).$(PATCHLEVEL)$(SUBLEVEL)$(EXTRAVERSION) -ifeq ($(findstring x2.6.,x$(DEFAULT_KERNEL_HEADERS)),x2.6.) -LINUX_HEADERS_SITE:=$(BR2_KERNEL_MIRROR:/=)/linux/kernel/v2.6/ -else -LINUX_HEADERS_SITE:=$(BR2_KERNEL_MIRROR:/=)/linux/kernel/v3.x/ -endif -LINUX_HEADERS_SOURCE:=linux-$(LINUX_HEADERS_VERSION).tar.xz -LINUX_HEADERS_CAT:=$(XZCAT) -LINUX_HEADERS_UNPACK_DIR:=$(TOOLCHAIN_DIR)/linux-$(LINUX_HEADERS_VERSION) -LINUX_HEADERS_DIR:=$(TOOLCHAIN_DIR)/linux - -LINUX_HEADERS_DEPENDS:= - -$(LINUX_HEADERS_UNPACK_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE) - $(Q)$(call MESSAGE,"Extracting kernel headers") - rm -rf $(LINUX_HEADERS_DIR) - $(INSTALL) -d $(@D) - $(LINUX_HEADERS_CAT) $(DL_DIR)/$(LINUX_HEADERS_SOURCE) | \ - tar $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) - - touch $@ - -$(LINUX_HEADERS_UNPACK_DIR)/.patched: $(LINUX_HEADERS_UNPACK_DIR)/.unpacked $(LINUX_HEADERS_DEPENDS) - $(Q)$(call MESSAGE,"Patching kernel headers") - support/scripts/apply-patches.sh $(LINUX_HEADERS_UNPACK_DIR) toolchain/kernel-headers \ - linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2} -ifneq ($(KERNEL_HEADERS_PATCH_DIR),) - support/scripts/apply-patches.sh $(LINUX_HEADERS_UNPACK_DIR) $(KERNEL_HEADERS_PATCH_DIR) \ - linux-$(LINUX_HEADERS_VERSION)-\*.patch{,.gz,.bz2} -endif - touch $@ - -$(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_UNPACK_DIR)/.patched - $(Q)$(call MESSAGE,"Installing kernel headers") - (cd $(LINUX_HEADERS_UNPACK_DIR); \ - $(MAKE) ARCH=$(KERNEL_ARCH) \ - HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \ - HOSTCXX="$(HOSTCXX)" \ - INSTALL_HDR_PATH=$(LINUX_HEADERS_DIR) headers_install; \ - ) - touch $@ - -$(DL_DIR)/$(LINUX_HEADERS_SOURCE): -ifeq ($(BR2_KERNEL_HEADERS_SNAP),y) - $(error No local $@ found, cannot continue. Are you sure you wanted to enable BR2_KERNEL_HEADERS_SNAP?) -endif - $(Q)$(call MESSAGE,"Downloading kernel headers") - $(call DOWNLOAD,$(LINUX_HEADERS_SITE:/=)/$(LINUX_HEADERS_SOURCE)) - -kernel-headers: $(LINUX_HEADERS_DIR)/.configured - -kernel-headers-source: $(DL_DIR)/$(LINUX_HEADERS_SOURCE) - -kernel-headers-clean: clean - rm -rf $(LINUX_HEADERS_DIR) - -kernel-headers-dirclean: - rm -rf $(LINUX_HEADERS_DIR) - rm -rf $(LINUX_HEADERS_UNPACK_DIR) - -.PHONY: kernel-headers diff --git a/toolchain/kernel-headers/linux-3.0.85-headers_install-fix-__packed-in-exported-kernel-head.patch b/toolchain/kernel-headers/linux-3.0.85-headers_install-fix-__packed-in-exported-kernel-head.patch deleted file mode 100644 index 8777b71639..0000000000 --- a/toolchain/kernel-headers/linux-3.0.85-headers_install-fix-__packed-in-exported-kernel-head.patch +++ /dev/null @@ -1,46 +0,0 @@ -From f210735fe2f17a6225432ee3d1239bcf23a8659c Mon Sep 17 00:00:00 2001 -From: Markus Trippelsdorf <markus@trippelsdorf.de> -Date: Fri, 24 Jun 2011 15:51:00 +0200 -Subject: [PATCH] headers_install: fix __packed in exported kernel headers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -checkpatch.pl warns about using __attribute__((packed)) in kernel -headers: "__packed is preferred over __attribute__((packed))". If one -follows that advice it could cause problems in the exported header -files, because the outside world doesn't know about this shortcut. - -For example busybox will fail to compile: - CC miscutils/ubi_attach_detach.o - In file included from miscutils/ubi_attach_detach.c:27:0: - /usr/include/mtd/ubi-user.h:330:3: error: conflicting types for ‘__packed’ - /usr/include/mtd/ubi-user.h:314:3: note: previous declaration of ‘__packed’ was here -... - -Fix the problem by substituting __packed with __attribute__((packed)) in -the header_install.pl script. - -Cc: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> -CC: Joe Perches <joe@perches.com> -Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de> -Signed-off-by: Michal Marek <mmarek@suse.cz> ---- - scripts/headers_install.pl | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/scripts/headers_install.pl b/scripts/headers_install.pl -index efb3be1..48462be 100644 ---- a/scripts/headers_install.pl -+++ b/scripts/headers_install.pl -@@ -35,6 +35,7 @@ foreach my $file (@files) { - $line =~ s/([\s(])__iomem\s/$1/g; - $line =~ s/\s__attribute_const__\s/ /g; - $line =~ s/\s__attribute_const__$//g; -+ $line =~ s/\b__packed\b/__attribute__((packed))/g; - $line =~ s/^#include <linux\/compiler.h>//; - $line =~ s/(^|\s)(inline)\b/$1__$2__/g; - $line =~ s/(^|\s)(asm)\b(\s|[(]|$)/$1__$2__$3/g; --- -1.7.5.4 - diff --git a/toolchain/kernel-headers/linux-3.3.8-fix-umode_t.patch b/toolchain/kernel-headers/linux-3.3.8-fix-umode_t.patch deleted file mode 100644 index 9663662254..0000000000 --- a/toolchain/kernel-headers/linux-3.3.8-fix-umode_t.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix a problem with the 3.3 kernel headers. Specifically, the umode_t type -is defined within a __KERNEL__ preprocessor ifdef region, and so the type -is not usable by non-kernel code. Visit the following URL for more details. - -* http://www.spinics.net/lists/linux-fsdevel/msg52638.html - -The commit that created the problem can be seen at the following URL. - -* http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commitdiff;h=0583fcc96bb117763c0fa74c123573c0112dec65 - -diff -Nur a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h ---- a/include/linux/ext2_fs.h 2012-03-18 23:15:34.000000000 +0000 -+++ b/include/linux/ext2_fs.h 2012-03-21 11:47:53.015548437 +0000 -@@ -209,7 +209,7 @@ - #define EXT2_OTHER_FLMASK (EXT2_NODUMP_FL | EXT2_NOATIME_FL) - - /* Mask out flags that are inappropriate for the given type of inode. */ --static inline __u32 ext2_mask_flags(umode_t mode, __u32 flags) -+static inline __u32 ext2_mask_flags(unsigned short mode, __u32 flags) - { - if (S_ISDIR(mode)) - return flags; diff --git a/toolchain/toolchain-buildroot.mk b/toolchain/toolchain-buildroot.mk index 5b89d561ee..a8dd58b314 100644 --- a/toolchain/toolchain-buildroot.mk +++ b/toolchain/toolchain-buildroot.mk @@ -1,5 +1,4 @@ # Include files required for the internal toolchain backend include toolchain/gcc/gcc-uclibc-4.x.mk -include toolchain/kernel-headers/kernel-headers.mk include toolchain/uClibc/uclibc.mk diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 38948904fe..3d70fa19aa 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -1,7 +1,7 @@ # Config entries for internal toolchain backend if BR2_TOOLCHAIN_BUILDROOT -source "toolchain/kernel-headers/Config.in" +source "package/linux-headers/Config.in.host" source "toolchain/uClibc/Config.in" source "package/binutils/Config.in.host" source "toolchain/gcc/Config.in" diff --git a/toolchain/toolchain-external.mk b/toolchain/toolchain-external.mk index 2aa01413bd..40fc633138 100644 --- a/toolchain/toolchain-external.mk +++ b/toolchain/toolchain-external.mk @@ -2,6 +2,5 @@ include toolchain/helpers.mk include toolchain/gcc/gcc-uclibc-4.x.mk -include toolchain/kernel-headers/kernel-headers.mk include toolchain/toolchain-external/ext-tool.mk include toolchain/uClibc/uclibc.mk diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk index f042c639f9..e06fafc85d 100644 --- a/toolchain/uClibc/uclibc.mk +++ b/toolchain/uClibc/uclibc.mk @@ -98,7 +98,7 @@ $(UCLIBC_DIR)/.oldconfig: $(UCLIBC_DIR)/.patched $(UCLIBC_CONFIG_FILE) $(SED) 's,^CROSS_COMPILER_PREFIX=.*,CROSS_COMPILER_PREFIX="$(TARGET_CROSS)",g' \ -e 's,# TARGET_$(UCLIBC_TARGET_ARCH) is not set,TARGET_$(UCLIBC_TARGET_ARCH)=y,g' \ -e 's,^TARGET_ARCH=".*",TARGET_ARCH=\"$(UCLIBC_TARGET_ARCH)\",g' \ - -e 's,^KERNEL_HEADERS=.*,KERNEL_HEADERS=\"$(LINUX_HEADERS_DIR)/include\",g' \ + -e 's,^KERNEL_HEADERS=.*,KERNEL_HEADERS=\"$(STAGING_DIR)/usr/include\",g' \ -e 's,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX=\"/\",g' \ -e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"/usr/\",g' \ -e 's,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX=\"/lib\",g' \ @@ -426,7 +426,7 @@ ifeq ($(BR2_arc),y) REALLY_NOSTDLIB=-really-nostdlib endif -$(UCLIBC_DIR)/.configured: $(LINUX_HEADERS_DIR)/.configured $(UCLIBC_DIR)/.config +$(UCLIBC_DIR)/.configured: $(UCLIBC_DIR)/.config $(Q)$(call MESSAGE,"Installing uClibc headers") $(MAKE1) -C $(UCLIBC_DIR) \ ARCH="$(UCLIBC_TARGET_ARCH)" \ @@ -441,7 +441,7 @@ $(UCLIBC_DIR)/.configured: $(LINUX_HEADERS_DIR)/.configured $(UCLIBC_DIR)/.confi # Install the kernel headers to the first stage gcc include dir # if necessary if [ ! -f $(TOOLCHAIN_DIR)/uClibc_dev/usr/include/linux/version.h ]; then \ - cp -pLR $(LINUX_HEADERS_DIR)/include/* \ + cp -pLR $(STAGING_DIR)/usr/include/* \ $(TOOLCHAIN_DIR)/uClibc_dev/usr/include/; \ fi $(TARGET_CROSS)gcc -nostdlib $(REALLY_NOSTDLIB) -nostartfiles -shared -x c /dev/null -o $(TOOLCHAIN_DIR)/uClibc_dev/usr/lib/libc.so @@ -485,11 +485,6 @@ $(STAGING_DIR)/usr/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a CROSS_COMPILE="$(TARGET_CROSS)" \ UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \ install_runtime install_dev - # Install the kernel headers to the staging dir if necessary - if [ ! -f $(STAGING_DIR)/usr/include/linux/version.h ]; then \ - cp -pLR $(LINUX_HEADERS_DIR)/include/* \ - $(STAGING_DIR)/usr/include/; \ - fi # Build the host utils. Need to add an install target... $(MAKE1) -C $(UCLIBC_DIR)/utils \ PREFIX=$(HOST_DIR) \ @@ -548,7 +543,7 @@ uclibc-oldconfig: $(UCLIBC_DIR)/.oldconfig uclibc-update-config: uclibc-config cp -f $(UCLIBC_DIR)/.config $(UCLIBC_CONFIG_FILE) -uclibc-configured: gcc_initial kernel-headers $(UCLIBC_DIR)/.configured +uclibc-configured: gcc_initial linux-headers $(UCLIBC_DIR)/.configured uclibc-configured-source: uclibc-source |