Ensure lzma is built *before* linux, allow system installation in /usr/local/bin
authorUlf Samuelsson <ulf.samuelsson@atmel.com>
Thu, 16 Aug 2007 18:17:39 +0000 (18:17 -0000)
committerUlf Samuelsson <ulf.samuelsson@atmel.com>
Thu, 16 Aug 2007 18:17:39 +0000 (18:17 -0000)
package/lzma/lzma.mk
target/linux/Makefile.in
toolchain/kernel-headers/Config.in

index 6e122eb3001c7b92ed3b9415e7543ad879f9682b..ec876da756d396930f2dced932c7b26c34227e0d 100644 (file)
@@ -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
index f4ffd5d8d2f5ec369ab87877fe72f65f9ab2090e..78dcab70fe2bdf1dc93c94c39019be234ba6f633 100644 (file)
@@ -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 $@
index bb24d15dcb85a163dc90bd036e42d8533c041b30..9244f088ed625947070414f99e12fa645fe9180f 100644 (file)
@@ -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