aboutsummaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-06-30 21:28:58 +0200
committerGravatar Peter Korsgaard <jacmet@sunsite.dk>2013-07-03 22:45:14 +0200
commit7f240d984b721c104fec6aee5710277c6955206b (patch)
tree0e12525ccb43293275d66a87b7b93c749ffe35ca /toolchain
parente21db000267cfbff000f1fc8c8e3329c5473ce1e (diff)
downloadbuildroot-7f240d984b721c104fec6aee5710277c6955206b.tar.gz
buildroot-7f240d984b721c104fec6aee5710277c6955206b.tar.bz2
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.in84
-rw-r--r--toolchain/kernel-headers/kernel-headers.mk87
-rw-r--r--toolchain/kernel-headers/linux-3.0.85-headers_install-fix-__packed-in-exported-kernel-head.patch46
-rw-r--r--toolchain/kernel-headers/linux-3.3.8-fix-umode_t.patch22
-rw-r--r--toolchain/toolchain-buildroot.mk1
-rw-r--r--toolchain/toolchain-buildroot/Config.in2
-rw-r--r--toolchain/toolchain-external.mk1
-rw-r--r--toolchain/uClibc/uclibc.mk13
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