From 0a9af49e0b41dc66ce0bb0d583b0241a882f2700 Mon Sep 17 00:00:00 2001 From: Ulf Samuelsson Date: Thu, 16 Aug 2007 18:17:39 +0000 Subject: Ensure lzma is built *before* linux, allow system installation in /usr/local/bin --- package/lzma/lzma.mk | 9 +++++++++ target/linux/Makefile.in | 10 +++++++++- toolchain/kernel-headers/Config.in | 11 +++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/package/lzma/lzma.mk b/package/lzma/lzma.mk index 6e122eb30..ec876da75 100644 --- a/package/lzma/lzma.mk +++ b/package/lzma/lzma.mk @@ -48,11 +48,20 @@ $(STAGING_DIR)/bin/lzma: $(LZMA_HOST_DIR)/src/lzma/lzma $(STAGING_DIR)/lib/liblzmadec.la lzma-host: $(STAGING_DIR)/bin/lzma + lzma-host-clean: rm -f $(STAGING_DIR)/bin/lzma -$(MAKE) -C $(LZMA_HOST_DIR) clean lzma-host-dirclean: rm -rf $(LZMA_HOST_DIR) + +/usr/local/bin/lzma: lzma_host + sudo $(MAKE) DESTDIR=/usr/local -C $(LZMA_HOST_DIR) install + sudo $(SED) "s,^libdir=.*,libdir=\'/usr/local/lib\',g" \ + /usr/local/lib/liblzmadec.la + +lzma-host-install: /usr/local/bin/lzma + ###################################################################### # # lzma target diff --git a/target/linux/Makefile.in b/target/linux/Makefile.in index f4ffd5d8d..78dcab70f 100644 --- a/target/linux/Makefile.in +++ b/target/linux/Makefile.in @@ -59,6 +59,14 @@ ifndef LINUX26_KERNEL LINUX26_KERNEL=$(BINARIES_DIR)/linux-kernel-$(LINUX26_VERSION)-$(KERNEL_ARCH) endif +ifeq ($(BR2_KERNEL_HEADERS_LZMA),y) +ifeq ($(BR2_KERNEL_HEADERS_LZMA_INSTALL),y) +DEPEND_ON_HOST_LZMA:=lzma-host-install +else +DEPEND_ON_HOST_LZMA:=lzma-host +endif +endif + # Version of Linux AFTER patches LINUX26_DIR=$(BUILD_DIR)/linux-$(LINUX26_VERSION) @@ -150,7 +158,7 @@ linux26-menuconfig: $(LINUX26_DIR)/.patched host-sed $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig -[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured -linux26: $(INITRAMFS_TARGET) $(LINUX26_KERNEL) +linux26: $(DEPEND_ON_HOST_LZMA) $(INITRAMFS_TARGET) $(LINUX26_KERNEL) $(LINUX26_DIR)/.modules_installed: $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep touch $@ diff --git a/toolchain/kernel-headers/Config.in b/toolchain/kernel-headers/Config.in index bb24d15dc..9244f088e 100644 --- a/toolchain/kernel-headers/Config.in +++ b/toolchain/kernel-headers/Config.in @@ -66,6 +66,17 @@ config BR2_KERNEL_HEADERS_LZMA initramfs filesystems. This requires the lzma program in your development environment. +config BR2_KERNEL_HEADERS_LZMA_INSTALL + bool "Install lzma in /usr/local/bin (Requires system password) for sudo" + default n + help + Install the lzma package in the /usr/local/bin directory + so it is available for future builds. This requires sudo. + If you do not know the system password you should not set + this option. If you do not have lzma installed the only way + to complete the linux build, ifl you apply the lzma patches + is to have '$(STAGING_DIR)/usr/bin' in your path. + config BR2_DEFAULT_KERNEL_HEADERS string default "2.4.25" if BR2_KERNEL_HEADERS_2_4_25 -- cgit v1.2.3