From 2d523c23175b8e8772c2e223d92513f836cde8a6 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Sat, 9 Oct 2004 01:06:03 +0000 Subject: Major buildroot facelift, step one. -Erik --- toolchain/kernel-headers/Config.in | 25 ++++++ toolchain/kernel-headers/Makefile.in | 3 + toolchain/kernel-headers/kernel-headers.mk | 124 +++++++++++++++++++++++++++++ 3 files changed, 152 insertions(+) create mode 100644 toolchain/kernel-headers/Config.in create mode 100644 toolchain/kernel-headers/Makefile.in create mode 100644 toolchain/kernel-headers/kernel-headers.mk (limited to 'toolchain/kernel-headers') diff --git a/toolchain/kernel-headers/Config.in b/toolchain/kernel-headers/Config.in new file mode 100644 index 000000000..db286e2d5 --- /dev/null +++ b/toolchain/kernel-headers/Config.in @@ -0,0 +1,25 @@ +# 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. +# + +choice + prompt "Kernel Headers" + default BR2_KERNEL_HEADERS_2_4 + 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. + + config BR2_KERNEL_HEADERS_2_4 + bool "Linux 2.4.x kernel headers" + + config BR2_KERNEL_HEADERS_2_6 + bool "Linux 2.6.x kernel headers" + +endchoice + +config BR2_DEFAULT_KERNEL_HEADERS + string + default "2.4.27" if BR2_KERNEL_HEADERS_2_4 + default "2.6.8" if BR2_KERNEL_HEADERS_2_6 + diff --git a/toolchain/kernel-headers/Makefile.in b/toolchain/kernel-headers/Makefile.in new file mode 100644 index 000000000..d02613a02 --- /dev/null +++ b/toolchain/kernel-headers/Makefile.in @@ -0,0 +1,3 @@ +DEFAULT_KERNEL_HEADERS:=$(strip $(subst ",, $(BR2_DEFAULT_KERNEL_HEADERS))) +#" + diff --git a/toolchain/kernel-headers/kernel-headers.mk b/toolchain/kernel-headers/kernel-headers.mk new file mode 100644 index 000000000..39d14e6dc --- /dev/null +++ b/toolchain/kernel-headers/kernel-headers.mk @@ -0,0 +1,124 @@ +############################################################# +# +# 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... +# +############################################################# +ifneq ($(filter $(TARGETS),kernel-headers),) +DEFAULT_KERNEL_HEADERS:=$(strip $(DEFAULT_KERNEL_HEADERS)) + +LINUX_HEADERS_SITE:=127.0.0.1 +LINUX_HEADERS_SOURCE:=unspecified-kernel-headers + +ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.4.25") +VERSION:=2 +PATCHLEVEL:=4 +SUBLEVEL:=25 +LINUX_HEADERS_SITE:=http://www.uclibc.org/downloads/toolchain +LINUX_HEADERS_SOURCE:=linux-libc-headers-2.4.25.tar.bz2 +LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.4.25 +endif + +ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.4.27") +VERSION:=2 +PATCHLEVEL:=4 +SUBLEVEL:=25 +LINUX_HEADERS_SITE:=http://www.uclibc.org/downloads/toolchain +LINUX_HEADERS_SOURCE:=linux-libc-headers-2.4.27.tar.bz2 +LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.4.27 +endif + +ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.6.7") +VERSION:=2 +PATCHLEVEL:=6 +SUBLEVEL:=7 +LINUX_HEADERS_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ +LINUX_HEADERS_SOURCE:=linux-libc-headers-2.6.7.0.tar.bz2 +LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.7.0 +endif + +ifeq ("$(strip $(DEFAULT_KERNEL_HEADERS))","2.6.8") +VERSION:=2 +PATCHLEVEL:=6 +SUBLEVEL:=8 +LINUX_HEADERS_SITE:=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ +LINUX_HEADERS_SOURCE:=linux-libc-headers-2.6.8.0.tar.bz2 +LINUX_HEADERS_UNPACK_DIR:=$(TOOL_BUILD_DIR)/linux-libc-headers-2.6.8.0 +endif + +LINUX_VERSION:=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL) + +LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux + +$(DL_DIR)/$(LINUX_HEADERS_SOURCE): + mkdir -p $(DL_DIR) + $(WGET) -P $(DL_DIR) $(LINUX_HEADERS_SITE)/$(LINUX_HEADERS_SOURCE) + +$(LINUX_HEADERS_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE) + mkdir -p $(TOOL_BUILD_DIR) + bzcat $(DL_DIR)/$(LINUX_HEADERS_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf - +ifneq ($(LINUX_HEADERS_UNPACK_DIR),$(LINUX_HEADERS_DIR)) + mv $(LINUX_HEADERS_UNPACK_DIR) $(LINUX_HEADERS_DIR) +endif + touch $(LINUX_HEADERS_DIR)/.unpacked + +$(LINUX_HEADERS_DIR)/.patched: $(LINUX_HEADERS_DIR)/.unpacked + $(SOURCE_DIR)/patch-kernel.sh $(LINUX_HEADERS_DIR) toolchain/kernel-headers linux-libc-headers-$(LINUX_VERSION)-\*.patch + touch $(LINUX_HEADERS_DIR)/.patched + +$(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_DIR)/.patched + rm -f $(LINUX_HEADERS_DIR)/include/asm + @if [ ! -f $(LINUX_HEADERS_DIR)/Makefile ] ; then \ + echo -e "VERSION = $(VERSION)\nPATCHLEVEL = $(PATCHLEVEL)\n" > \ + $(LINUX_HEADERS_DIR)/Makefile; \ + echo -e "SUBLEVEL = $(SUBLEVEL)\nEXTRAVERSION =\n" >> \ + $(LINUX_HEADERS_DIR)/Makefile; \ + echo -e "KERNELRELEASE=\$$(VERSION).\$$(PATCHLEVEL).\$$(SUBLEVEL)\$$(EXTRAVERSION)" >> \ + $(LINUX_HEADERS_DIR)/Makefile; \ + fi; + @if [ "$(ARCH)" = "powerpc" ];then \ + (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-ppc$(NOMMU) asm;) \ + elif [ "$(ARCH)" = "mips" ];then \ + (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-mips$(NOMMU) asm;) \ + elif [ "$(ARCH)" = "mipsel" ];then \ + (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-mips$(NOMMU) asm;) \ + elif [ "$(ARCH)" = "arm" ];then \ + (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-arm$(NOMMU) asm; \ + cd asm; \ + if [ ! -L proc ] ; then \ + ln -fs proc-armv proc; \ + ln -fs arch-ebsa285 arch; fi); \ + elif [ "$(ARCH)" = "armeb" ];then \ + (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-arm$(NOMMU) asm; \ + cd asm; \ + if [ ! -L proc ] ; then \ + ln -fs proc-armv proc; \ + ln -fs arch-ebsa285 arch; fi); \ + elif [ "$(ARCH)" = "cris" ];then \ + (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-cris asm;) \ + elif [ "$(ARCH)" = "sh4" ];then \ + (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-sh asm; \ + cd asm; \ + ln -s cpu-sh4 cpu) \ + else \ + (cd $(LINUX_HEADERS_DIR)/include; ln -fs asm-$(ARCH)$(NOMMU) asm;) \ + fi + touch $(LINUX_HEADERS_DIR)/include/linux/autoconf.h; + touch $(LINUX_HEADERS_DIR)/.configured + +$(LINUX_KERNEL): $(LINUX_HEADERS_DIR)/.configured + +kernel-headers: $(LINUX_HEADERS_DIR)/.configured + +kernel-headers-source: $(DL_DIR)/$(LINUX_HEADERS_SOURCE) + +kernel-headers-clean: clean + rm -f $(LINUX_KERNEL) + rm -rf $(LINUX_HEADERS_DIR) + +kernel-headers-dirclean: + rm -rf $(LINUX_HEADERS_DIR) + +endif -- cgit v1.2.3