Add ldd and ldconfig support, template packages derived from gcc and uclibc
authorFlorian Fainelli <florian@openwrt.org>
Tue, 3 Apr 2007 22:50:27 +0000 (22:50 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 3 Apr 2007 22:50:27 +0000 (22:50 +0000)
SVN-Revision: 6856

package/base-files/Makefile
package/base-files/files/etc/profile
toolchain/uClibc/Makefile

index 0d3d3040bf342dcc46002398ea44fc26cf40defb..7c0a4c9e1f4fe3d16ec7f932f0bf6cd4dee5d00d 100644 (file)
@@ -24,6 +24,7 @@ include $(INCLUDE_DIR)/package.mk
 ifneq ($(DUMP),1)
   TARGET:=-$(BOARD)-$(KERNEL)
   UCLIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version 2>/dev/null}
+  UCLIBC_EXTRA_VERSION:=${shell cat $(STAGING_DIR)/uclibc_extra_version 2>/dev/null}
   LIBGCC_VERSION:=${shell cat $(STAGING_DIR)/gcc_version 2>/dev/null}
 else
   UCLIBC_VERSION:=<UCLIBC_VERSION>
@@ -60,41 +61,50 @@ define Package/base-files$(TARGET)/conffiles
 $(call $(TARGET)/conffiles)
 endef
 
-define Package/libgcc
+define Package/gcc/Default
   SECTION:=libs
   CATEGORY:=Base system
   DEPENDS:=@!NATIVE_TOOLCHAIN
-  TITLE:=GCC support library
   URL:=http://gcc.gnu.org/
   VERSION:=$(LIBGCC_VERSION)-$(PKG_RELEASE)
 endef
 
+define Package/libgcc
+  $(call Package/gcc/Default)
+  TITLE:=GCC support library
+endef
+
 define Package/libssp
-  SECTION:=libs
-  CATEGORY:=Base system
-  DEPENDS:=@!NATIVE_TOOLCHAIN
-  DEFAULT:=m
+  $(call Package/gcc/Default)
   TITLE:=GCC support library
-  URL:=http://gcc.gnu.org/
-  VERSION:=$(LIBGCC_VERSION)-$(PKG_RELEASE)
 endef
 
-define Package/libpthread
+define Package/uclibc/Default
   SECTION:=libs
-  CATEGORY:=Libraries
+  CATEGORY:=Base system
   DEPENDS:=@!NATIVE_TOOLCHAIN
-  TITLE:=POSIX thread library
   URL:=http://uclibc.org/
   VERSION:=$(UCLIBC_VERSION)-$(PKG_RELEASE)
 endef
 
+define Package/libpthread
+  $(call Package/uclibc/Default)
+  TITLE:=POSIX thread library
+endef
+
 define Package/uclibc
-  SECTION:=libs
-  CATEGORY:=Base system
-  DEPENDS:=@!NATIVE_TOOLCHAIN
+  $(call Package/uclibc/Default)
   TITLE:=C library embedded systems
-  URL:=http://uclibc.org/
-  VERSION:=$(UCLIBC_VERSION)-$(PKG_RELEASE)
+endef
+
+define Package/ldd
+  $(call Package/uclibc/Default)
+  TITLE:=LDD trace utility
+endef
+
+define Package/ldconfig
+  $(call Package/uclibc/Default)
+  TITLE:=Shared library path configuration
 endef
 
 define Build/Prepare
@@ -171,6 +181,16 @@ define Package/uclibc/install
        done
 endef
 
+define Package/ldd/install
+       $(INSTALL_DIR) $(1)/bin/
+       $(CP) $(TOOLCHAIN_BUILD_DIR)/uClibc-$(UCLIBC_EXTRA_VERSION)/utils/ldd $(1)/bin/
+endef
+
+define Package/ldconfig/install
+       $(INSTALL_DIR) $(1)/bin/
+       $(CP) $(TOOLCHAIN_BUILD_DIR)/uClibc-$(UCLIBC_EXTRA_VERSION)/utils/ldconfig $(1)/bin/
+endef
+
 ifneq ($(DUMP),1)
   -include $(PLATFORM_DIR)/base-files.mk
 endif
@@ -180,4 +200,6 @@ $(eval $(call BuildPackage,libgcc))
 $(eval $(call BuildPackage,libssp))
 $(eval $(call BuildPackage,libpthread))
 $(eval $(call BuildPackage,uclibc))
+$(eval $(call BuildPackage,ldd))
+$(eval $(call BuildPackage,ldconfig))
 
index aee0de2b8463dfc10b5b884b3ae6001195edd220..c5d7e025804b63ae2c8eb80246441ebf3b201de6 100644 (file)
@@ -10,5 +10,5 @@ alias more=less
 [ -z "$KSH_VERSION" -o \! -s /etc/mkshrc ] || . /etc/mkshrc
 
 arp() { cat /proc/net/arp; }
-ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; }
+[ -z /bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; }
 reboot() { ifdown wan 2>&1 >/dev/null ; /sbin/reboot; }
index 1aebbaaefc5c47f1427df25861bb8b86eb73eb8a..2f95b0c44fa8ded8d2088edefea1a8548d357592 100644 (file)
@@ -93,6 +93,12 @@ define Build/Install
                RUNTIME_PREFIX=/ \
                install_dev
        echo $(PKG_VERSION) > $(STAGING_DIR)/uclibc_version
+       echo $(PKG_VERSION)$(PKG_EXTRAVERSION) > $(STAGING_DIR)/uclibc_extra_version
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               PREFIX=$(STAGING_DIR)/ \
+               DEVEL_PREFIX=/ \
+               RUNTIME_PREFIX=/ \
+               utils
 endef
 
 define Build/Clean