[Buildroot] [PATCH 1/2] e2fsprogs: factor out libuuid support

Daniel Mack daniel at caiaq.de
Mon Aug 3 14:36:14 UTC 2009


On Wed, Jul 29, 2009 at 07:21:22PM +0200, Daniel Mack wrote:
> Add a new target for libuuid so it can be built without e2fsprogs.
> 
> Signed-off-by: Daniel Mack <daniel at caiaq.de>

Hmm, that didn't work well. Let's give the version below a try. This one
now also selects BR2_PACKAGE_LIBUUID for gupnp.

Daniel

>From 8f79da7d0526b07907528d413d21d26c84a31c46 Mon Sep 17 00:00:00 2001
From: Daniel Mack <daniel at caiaq.de>
Date: Wed, 29 Jul 2009 19:13:46 +0200
Subject: [PATCH] e2fsprogs: factor out libuuid support

Add a new target for libuuid so it can be built without e2fsprogs.
Make gupnpav select BR2_PACKAGE_LIBUUID.

Signed-off-by: Daniel Mack <daniel at caiaq.de>
---
 package/e2fsprogs/Config.in    |    4 ++++
 package/e2fsprogs/e2fsprogs.mk |   27 +++++++++++++++++++++++++--
 package/gupnp/Config.in        |    1 +
 3 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in
index d353fd9..398dc56 100644
--- a/package/e2fsprogs/Config.in
+++ b/package/e2fsprogs/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBUUID
+	bool
+
 config BR2_PACKAGE_E2FSPROGS
 	bool "e2fsprogs"
 	depends on BR2_LARGEFILE
+	select BR2_PACKAGE_LIBUUID
 	help
 	  The EXT2 file system utilities and libraries
 
diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
index 6400bf5..fbadfb0 100644
--- a/package/e2fsprogs/e2fsprogs.mk
+++ b/package/e2fsprogs/e2fsprogs.mk
@@ -10,6 +10,9 @@ E2FSPROGS_DIR=$(BUILD_DIR)/e2fsprogs-$(E2FSPROGS_VERSION)
 E2FSPROGS_CAT:=$(ZCAT)
 E2FSPROGS_BINARY:=misc/mke2fs
 E2FSPROGS_TARGET_BINARY:=sbin/mke2fs
+LIBUUID_DIR=$(E2FSPROGS_DIR)/lib/uuid/
+LIBUUID_TARGET_DIR:=usr/lib/
+LIBUUID_TARGET_BINARY:=libuuid.so
 
 E2FSPROGS_MISC_STRIP:= \
 	badblocks blkid chattr dumpe2fs filefrag fsck logsave \
@@ -69,11 +72,17 @@ $(E2FSPROGS_DIR)/$(E2FSPROGS_BINARY): $(E2FSPROGS_DIR)/.configured
 	#$(STRIPCMD) $(E2FSPROGS_DIR)/lib/lib*.so.*.*
 	touch -c $@
 
+$(E2FSPROGS_DIR)/lib/$(LIBUUID_TARGET_BINARY): $(E2FSPROGS_DIR)/.configured
+	$(MAKE1) -C $(E2FSPROGS_DIR)/lib/uuid
+	touch -c $@
+
 $(STAGING_DIR)/$(E2FSPROGS_TARGET_BINARY): $(E2FSPROGS_DIR)/$(E2FSPROGS_BINARY)
 	$(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \
 		-C $(E2FSPROGS_DIR) install
+
+$(STAGING_DIR)/lib/$(LIBUUID_TARGET_BINARY): $(E2FSPROGS_DIR)/lib/$(LIBUUID_TARGET_BINARY)
 	$(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \
-		-C $(E2FSPROGS_DIR)/lib/uuid install
+		-C $(LIBUUID_DIR) install
 
 E2FSPROGS_RM$(BR2_PACKAGE_E2FSPROGS_BADBLOCKS) += ${TARGET_DIR}/sbin/badblocks
 E2FSPROGS_RM$(BR2_PACKAGE_E2FSPROGS_BLKID) += ${TARGET_DIR}/sbin/blkid
@@ -125,7 +134,15 @@ endif
 	rm -rf $(TARGET_DIR)/usr/share/doc
 	touch -c $@
 
-e2fsprogs: uclibc $(TARGET_DIR)/$(E2FSPROGS_TARGET_BINARY)
+$(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_TARGET_BINARY): $(STAGING_DIR)/lib/$(LIBUUID_TARGET_BINARY)
+	$(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \
+		-C $(LIBUUID_DIR) install
+	cp -a $(STAGING_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_TARGET_BINARY)* \
+		$(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/
+	touch -c $@
+
+libuuid: uclibc $(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_TARGET_BINARY)
+e2fsprogs: uclibc libuuid $(TARGET_DIR)/$(E2FSPROGS_TARGET_BINARY)
 
 e2fsprogs-clean:
 	$(MAKE1) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(E2FSPROGS_DIR) uninstall
@@ -134,6 +151,8 @@ e2fsprogs-clean:
 e2fsprogs-dirclean:
 	rm -rf $(E2FSPROGS_DIR)
 
+libuuid-dirclean:: e2fsprogs-dirclean
+
 #############################################################
 #
 # Toplevel Makefile options
@@ -142,3 +161,7 @@ e2fsprogs-dirclean:
 ifeq ($(BR2_PACKAGE_E2FSPROGS),y)
 TARGETS+=e2fsprogs
 endif
+
+ifeq ($(BR2_PACKAGE_LIBUUID),y)
+TARGETS+=libuuid
+endif
diff --git a/package/gupnp/Config.in b/package/gupnp/Config.in
index cdd769e..aeb02df 100755
--- a/package/gupnp/Config.in
+++ b/package/gupnp/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_GUPNP
         select BR2_PACKAGE_E2FSPROGS
         select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_GSSDP
+	select BR2_PACKAGE_LIBUUID
 	help
           GUPnP implements the UPnP specification: resource announcement
           and discovery, description, control, event notification, and
-- 
1.6.3.3



More information about the buildroot mailing list