From 6217a8ab0daee6cac61c2372d9b9deb9dd9c802c Mon Sep 17 00:00:00 2001 From: Bernhard Fischer Date: Fri, 20 Jun 2008 17:29:57 +0200 Subject: [PATCH] improve headers_install arm, blackfin, cris, mips, powerpc, ppc, sh, (um), xtensa seem to need that nowadays. Fixes symlink problem on cris. --- target/linux/Makefile.in | 51 ++++++++++++---------- .../kernel-headers/kernel-headers-new.makefile | 12 +++++ 2 files changed, 39 insertions(+), 24 deletions(-) diff --git a/target/linux/Makefile.in b/target/linux/Makefile.in index 7e2e5fa..22bbcb9 100644 --- a/target/linux/Makefile.in +++ b/target/linux/Makefile.in @@ -3,28 +3,8 @@ # Linux kernel 2.6 target # ############################################################# -ifneq ($(filter $(TARGETS),linux26),) - - -ifeq ($(DOWNLOAD_LINUX26_VERSION),) -# User did not define linux version, try using headers -ifeq ($(LINUX_HEADERS_VERSION),) -# We did not have headers (this is for real???) -# Version of linuc before patches -DOWNLOAD_LINUX26_VERSION=2.6.22.1 -# Version of Linux after applying any patches -LINUX26_VERSION=2.6.22.1 -else -# OK, we have headers, use them... -DOWNLOAD_LINUX26_VERSION=$(LINUX_HEADERS_VERSION) -LINUX26_VERSION=$(LINUX_HEADERS_VERSION) -endif -endif - -LINUX26_SOURCE=linux-$(DOWNLOAD_LINUX26_VERSION).tar.bz2 -LINUX26_BZCAT:=$(BZCAT) -LINUX26_SITE=$(BR2_KERNEL_MIRROR)/linux/kernel/v2.6 +# XXX This crap should be in project! ifeq ($(BOARD_PATH),) BOARD_PATH:=$(strip $(subst ",,$(BR2_BOARD_PATH))) #")) @@ -35,7 +15,7 @@ endif # If it is not set by the target/device, then pick the one from .config ifndef LINUX26_KCONFIG ifneq ($(strip $(subst ",,$(BR2_PACKAGE_LINUX_KCONFIG))),) -LINUX26_KCONFIG=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_KCONFIG))) +LINUX26_KCONFIG:=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_KCONFIG))) #")) #")) else @@ -45,14 +25,37 @@ endif ifndef LINUX26_FORMAT ifneq ($(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT))),) -LINUX26_FORMAT=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT))) +LINUX26_FORMAT:=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT))) #")) #")) else -LINUX26_FORMAT=zImage +LINUX26_FORMAT:=zImage +endif +endif + + +ifneq ($(filter $(TARGETS),linux26),) + +ifeq ($(DOWNLOAD_LINUX26_VERSION),) +# User did not define linux version, try using headers +ifeq ($(LINUX_HEADERS_VERSION),) +# We did not have headers (this is for real???) +# Version of linuc before patches +DOWNLOAD_LINUX26_VERSION=2.6.22.1 +# Version of Linux after applying any patches +LINUX26_VERSION=2.6.22.1 +else +# OK, we have headers, use them... +DOWNLOAD_LINUX26_VERSION=$(LINUX_HEADERS_VERSION) +LINUX26_VERSION=$(LINUX_HEADERS_VERSION) endif endif +LINUX26_SOURCE=linux-$(DOWNLOAD_LINUX26_VERSION).tar.bz2 +LINUX26_BZCAT:=$(BZCAT) +LINUX26_SITE=$(BR2_KERNEL_MIRROR)/linux/kernel/v2.6 + + # Has to be set by the target/device ifndef LINUX26_BINLOC # default: diff --git a/toolchain/kernel-headers/kernel-headers-new.makefile b/toolchain/kernel-headers/kernel-headers-new.makefile index 16dbefc..7f5505d 100644 --- a/toolchain/kernel-headers/kernel-headers-new.makefile +++ b/toolchain/kernel-headers/kernel-headers-new.makefile @@ -71,6 +71,18 @@ endif touch $@ $(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_UNPACK_DIR)/.patched + $(INSTALL) -D $(LINUX26_KCONFIG) $(LINUX_HEADERS_DIR)/.config + # some arches need archprepare + # Could very well be that we need to expand on that some more, later on + -(cd $(LINUX_HEADERS_UNPACK_DIR); \ + $(MAKE) ARCH=$(KERNEL_ARCH) \ + HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \ + HOSTCXX="$(HOSTCXX)" \ + KCONFIG_CONFIG="$($(LINUX_HEADERS_DIR)/.config)" \ + INSTALL_HDR_PATH=$(LINUX_HEADERS_DIR) archprepare; \ + ) + # wipe it, just to be sure to prevent misconfiguration + rm -f $(LINUX_HEADERS_DIR)/.config (cd $(LINUX_HEADERS_UNPACK_DIR); \ $(MAKE) ARCH=$(KERNEL_ARCH) \ HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \ -- 2.11.4.GIT