From: Thomas Lundquist <lists@zelow.no>
To: buildroot@busybox.net
Subject: [Buildroot] LZMA in Buldroot.
Date: Wed, 4 Oct 2006 16:40:46 +0200 [thread overview]
Message-ID: <20061004144046.GA32537@zelow.no> (raw)
In-Reply-To: <20061004084732.GA15165@aon.at>
On Wed, Oct 04, 2006 at 10:47:32AM +0200, Bernhard Fischer wrote:
>
> I'm curious why you moved it around? This should not be necessary, just
> depend on lzma-host for $(image).lzma, like so:
I wasn't sure about that myself but sstrip was done like this, so I
moved it.
I have no problems with making a patch that does not move it but why was
sstrip done this way?
the libraries are done from the package directory but they are the same
in staging and target (except for stripping) but here we are talking
about two sifferent binaries, one compiled for the host and one for the
target.
this was at least my guess on the reason behind putting sstrip in in the
toolchain part.
(my sstrip, or rather elfkickers package, which was never included in
buildroot was in the package directory but then sstrip showed up in
toolchain.)
I've kept building of lzma-host in toolchain since we have to build two
different sets.
patch attached.
Thomas.
> +$(EXT2_BASE).lzma: lzma-host $(EXT2_BASE)
> + $(STAGING_DIR)/bin/lzma -vc $(EXT2_BASE) > $(EXT2_BASE).lzma
> +
> Please send an updated patch.
> TIA,
> Bernhard
>
> >
> >about initrd kernel patches; I've attached one for 2.6.15.4 but if there
> >are interest I'll maintain patches for newer versions aswell.
> >
> >I also have patches for lzma compressed kernel but only for i386 (I need it
> >for ARM but have met some challenges.).
> >
> >Thanks to Ming-Ching Tiew for making the kernel patches.
> >
> >
> >Thomas.
-------------- next part --------------
Index: target/ext2/ext2root.mk
===================================================================
--- target/ext2/ext2root.mk (revision 16306)
+++ target/ext2/ext2root.mk (working copy)
@@ -66,6 +66,10 @@
EXT2_TARGET := $(EXT2_BASE)
endif
+ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_LZMA)),y)
+EXT2_TARGET := $(EXT2_BASE).lzma
+endif
+
$(EXT2_BASE): host-fakeroot makedevs genext2fs
- at find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
@rm -rf $(TARGET_DIR)/usr/man
@@ -102,6 +106,9 @@
$(EXT2_BASE).gz: $(EXT2_BASE)
@gzip --best -fv $(EXT2_BASE)
+$(EXT2_BASE).lzma: lzma-host $(EXT2_BASE)
+ @$(STAGING_DIR)/bin/lzma -vc $(EXT2_BASE) > $(EXT2_BASE).lzma
+
EXT2_COPYTO := $(strip $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_COPYTO)))
# " stupid syntax highlighting does not like unmatched quote from above line
Index: package/lzma/lzma.mk
===================================================================
--- package/lzma/lzma.mk (revision 16306)
+++ package/lzma/lzma.mk (working copy)
@@ -6,7 +6,8 @@
LZMA_VER:=4.32.0beta3
LZMA_SOURCE:=lzma-$(LZMA_VER).tar.gz
LZMA_SITE:=http://tukaani.org/lzma/
-LZMA_DIR:=$(BUILD_DIR)/lzma-$(LZMA_VER)
+LZMA_HOST_DIR:=$(TOOL_BUILD_DIR)/lzma-$(LZMA_VER)
+LZMA_TARGET_DIR:=$(BUILD_DIR)/lzma-$(LZMA_VER)
LZMA_CFLAGS:=$(TARGET_CFLAGS)
ifeq ($(BR2_LARGEFILE),y)
LZMA_CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
@@ -18,13 +19,47 @@
$(DL_DIR)/$(LZMA_SOURCE):
$(WGET) -P $(DL_DIR) $(LZMA_SITE)/$(LZMA_SOURCE)
-$(LZMA_DIR)/.source: $(DL_DIR)/$(LZMA_SOURCE)
- $(ZCAT) $(DL_DIR)/$(LZMA_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(LZMA_DIR) package/lzma/ lzma\*.patch
- touch $(LZMA_DIR)/.source
+######################################################################
+#
+# lzma host
+#
+######################################################################
-$(LZMA_DIR)/.configured: $(LZMA_DIR)/.source
- (cd $(LZMA_DIR); rm -f config.cache ;\
+$(LZMA_HOST_DIR)/.source: $(DL_DIR)/$(LZMA_SOURCE)
+ zcat $(DL_DIR)/$(LZMA_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(LZMA_HOST_DIR) toolchain/lzma/ lzma\*.patch
+ touch $(LZMA_HOST_DIR)/.source
+
+$(LZMA_HOST_DIR)/.configured: $(LZMA_HOST_DIR)/.source
+ (cd $(LZMA_HOST_DIR); rm -f config.cache ;\
+ CC="$(HOSTCC)" \
+ ./configure \
+ --prefix=/ \
+ );
+ touch $(LZMA_HOST_DIR)/.configured;
+
+$(LZMA_HOST_DIR)/src/lzma/lzma: $(LZMA_HOST_DIR)/.configured
+ $(MAKE) -C $(LZMA_HOST_DIR) all
+ touch -c $@
+
+$(STAGING_DIR)/bin/lzma: $(LZMA_HOST_DIR)/src/lzma/lzma
+ $(MAKE) DESTDIR=$(STAGING_DIR) -C $(LZMA_HOST_DIR) install
+
+lzma_host: uclibc $(STAGING_DIR)/bin/lzma
+
+######################################################################
+#
+# lzma target
+#
+######################################################################
+
+$(LZMA_TARGET_DIR)/.source: $(DL_DIR)/$(LZMA_SOURCE)
+ zcat $(DL_DIR)/$(LZMA_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(LZMA_TARGET_DIR) toolchain/lzma/ lzma\*.patch
+ touch $(LZMA_TARGET_DIR)/.source
+
+$(LZMA_TARGET_DIR)/.configured: $(LZMA_TARGET_DIR)/.source
+ (cd $(LZMA_TARGET_DIR); rm -f config.cache ;\
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS) $(LZMA_CFLAGS)" \
ac_cv_func_malloc_0_nonnull=yes \
@@ -33,37 +68,31 @@
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
- --exec-prefix=$(STAGING_DIR)/usr/bin \
- --libdir=$(STAGING_DIR)/lib \
- --includedir=$(STAGING_DIR)/include \
+ --exec-prefix=$(TARGET_DIR)/usr/bin \
+ --libdir=$(TARGET_DIR)/lib \
+ --includedir=$(TARGET_DIR)/include \
--disable-debug \
$(DISABLE_NLS) \
$(LZMA_LARGEFILE) \
);
- touch $(LZMA_DIR)/.configured;
+ touch $(LZMA_TARGET_DIR)/.configured;
-$(LZMA_DIR)/src/lzma/lzma: $(LZMA_DIR)/.configured
- $(MAKE) -C $(LZMA_DIR) all
+$(LZMA_TARGET_DIR)/src/lzma/lzma: $(LZMA_TARGET_DIR)/.configured
+ $(MAKE) -C $(LZMA_TARGET_DIR) all
touch -c $@
-$(STAGING_DIR)/bin/lzma: $(LZMA_DIR)/src/lzma/lzma
- -cp -dpf $(LZMA_DIR)/src/lzma/lzma $(STAGING_DIR)/bin/;
- touch -c $(STAGING_DIR)/bin/lzma
-
-$(TARGET_DIR)/bin/lzma: $(STAGING_DIR)/bin/lzma
- cp -dpf $(STAGING_DIR)/bin/lzma $(TARGET_DIR)/bin/;
+$(TARGET_DIR)/usr/bin/lzma: $(LZMA_TARGET_DIR)/src/lzma/lzma
+ -cp -dpf $(LZMA_TARGET_DIR)/src/lzma/lzma $(TARGET_DIR)/bin/;
-$(STRIP) --strip-unneeded $(TARGET_DIR)/bin/lzma
touch -c $(TARGET_DIR)/bin/lzma
-#lzma-headers: $(TARGET_DIR)/bin/lzma
+lzma_target: uclibc $(TARGET_DIR)/usr/bin/lzma
-lzma: uclibc $(TARGET_DIR)/bin/lzma
-
lzma-source: $(DL_DIR)/$(LZMA_SOURCE)
lzma-clean:
- rm -f $(TARGET_DIR)/bin/lzma
- -$(MAKE) -C $(LZMA_DIR) clean
+ rm -f $(TARGET_DIR)/usr/bin/lzma
+ -$(MAKE) -C $(LZMA_TARGET_DIR) clean
lzma-dirclean:
rm -rf $(LZMA_DIR)
@@ -73,9 +102,9 @@
# Toplevel Makefile options
#
#############################################################
-ifeq ($(strip $(BR2_PACKAGE_LZMA)),y)
-TARGETS+=lzma
+ifeq ($(strip $(BR2_PACKAGE_LZMA_HOST)),y)
+TARGETS+=lzma_host
endif
-#ifeq ($(strip $(BR2_PACKAGE_LZMA_TARGET_HEADERS)),y)
-#TARGETS+=lzma-headers
-#endif
+ifeq ($(strip $(BR2_PACKAGE_LZMA_TARGET)),y)
+TARGETS+=lzma_target
+endif
Index: package/lzma/Config.in
===================================================================
--- package/lzma/Config.in (revision 16306)
+++ package/lzma/Config.in (working copy)
@@ -1,14 +1,15 @@
-config BR2_PACKAGE_LZMA
- bool "lzma"
+config BR2_PACKAGE_LZMA_TARGET
+ bool "Install lzma for the target system"
default n
help
- Compression utility.
+ lzma utils on the target
http://tukaani.org/lzma/
-config BR2_PACKAGE_LZMA_TARGET_HEADERS
- bool "lzma headers in target"
+config BR2_PACKAGE_LZMA_HOST
+ bool "Install lzma for the host/build system"
default n
- depends on BR2_PACKAGE_LZMA
help
- Put headers files in the target.
+ lzma utils
+
+ http://tukaani.org/lzma/
next prev parent reply other threads:[~2006-10-04 14:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-03 17:30 [Buildroot] LZMA in Buldroot Thomas Lundquist
[not found] ` <20061004084732.GA15165@aon.at>
2006-10-04 14:40 ` Thomas Lundquist [this message]
2006-10-04 16:20 ` Bernhard Fischer
2006-10-04 16:37 ` Thomas Lundquist
2006-10-04 19:26 ` Bernhard Fischer
2006-10-05 7:29 ` Thomas Lundquist
2006-10-05 8:18 ` Bernhard Fischer
[not found] ` <20061006061248.GA2458@zelow.no>
[not found] ` <20061006081808.GA5591@aon.at>
[not found] ` <20061006105147.GA7047@zelow.no>
2006-11-04 19:21 ` Bernhard Fischer
2006-10-05 17:40 ` Rob Landley
2006-10-05 17:50 ` Bernhard Fischer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20061004144046.GA32537@zelow.no \
--to=lists@zelow.no \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox