From da8174507aad3763465d31a3de34f6765057bc18 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Tue, 3 Apr 2007 22:50:27 +0000 Subject: [PATCH] Add ldd and ldconfig support, template packages derived from gcc and uclibc SVN-Revision: 6856 --- package/base-files/Makefile | 54 +++++++++++++++++++--------- package/base-files/files/etc/profile | 2 +- toolchain/uClibc/Makefile | 6 ++++ 3 files changed, 45 insertions(+), 17 deletions(-) diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 0d3d3040bf..7c0a4c9e1f 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -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:= @@ -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 + $(call Package/gcc/Default) + TITLE:=GCC support library +endef + +define Package/uclibc/Default SECTION:=libs CATEGORY:=Base system DEPENDS:=@!NATIVE_TOOLCHAIN - DEFAULT:=m - TITLE:=GCC support library - URL:=http://gcc.gnu.org/ - VERSION:=$(LIBGCC_VERSION)-$(PKG_RELEASE) + URL:=http://uclibc.org/ + VERSION:=$(UCLIBC_VERSION)-$(PKG_RELEASE) endef define Package/libpthread - SECTION:=libs - CATEGORY:=Libraries - DEPENDS:=@!NATIVE_TOOLCHAIN + $(call Package/uclibc/Default) TITLE:=POSIX thread library - URL:=http://uclibc.org/ - VERSION:=$(UCLIBC_VERSION)-$(PKG_RELEASE) 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)) diff --git a/package/base-files/files/etc/profile b/package/base-files/files/etc/profile index aee0de2b84..c5d7e02580 100644 --- a/package/base-files/files/etc/profile +++ b/package/base-files/files/etc/profile @@ -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; } diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile index 1aebbaaefc..2f95b0c44f 100644 --- a/toolchain/uClibc/Makefile +++ b/toolchain/uClibc/Makefile @@ -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