aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorNicolas Thill <nico@openwrt.org>2009-01-08 01:49:11 +0000
committerNicolas Thill <nico@openwrt.org>2009-01-08 01:49:11 +0000
commit3b75e47f8f0d1db7575f0824f7a2469e2e8af7cf (patch)
treee9676ee4d01368996c17caf45fd31f861e3686af /package
parentec57cd80ccfc739b1d9856e7f2191d12ef568aeb (diff)
downloadmaster-187ad058-3b75e47f8f0d1db7575f0824f7a2469e2e8af7cf.tar.gz
master-187ad058-3b75e47f8f0d1db7575f0824f7a2469e2e8af7cf.tar.bz2
master-187ad058-3b75e47f8f0d1db7575f0824f7a2469e2e8af7cf.zip
[massive] add support for alternative C libraries (currently only glibc/eglibc)
other (related) changes: - kernel headers are now installed using "make headers_install" on 2.6 - target names now contain an openwrt "vendor" tag (e.g. mips-openwrt-linux-gnu) - build directory names now contain gcc/libc name/version - default cpu for x86 is now i486 (required to build glibc/eglibc) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13931 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r--package/base-files/Makefile80
-rw-r--r--package/kexec-tools/Makefile8
2 files changed, 60 insertions, 28 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 50387ab1f8..52e70e5ce6 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -26,7 +26,7 @@ ifneq ($(DUMP),1)
LIB_SUFFIX:=64
endif
else
- UCLIBC_VERSION:=<UCLIBC_VERSION>
+ LIBC_VERSION:=<LIBC_VERSION>
LIBGCC_VERSION:=<LIBGCC_VERSION>
endif
@@ -88,22 +88,28 @@ $(call Package/gcc/Default)
DEPENDS+=@INSTALL_LIBSTDCPP
endef
-define Package/uclibc/Default
+define Package/libc/Default
SECTION:=libs
CATEGORY:=Base system
DEPENDS:=@!NATIVE_TOOLCHAIN
- URL:=http://uclibc.org/
- VERSION:=$(UCLIBC_VERSION)$(UCLIBC_PATCHVER)-$(PKG_RELEASE)
+ VERSION:=$(LIBC_VERSION)-$(PKG_RELEASE)
+ URL:=$(LIBC_URL)
+endef
+
+define Package/libc
+$(call Package/libc/Default)
+ TITLE:=C library
endef
define Package/libpthread
-$(call Package/uclibc/Default)
+$(call Package/libc/Default)
TITLE:=POSIX thread library
+ DEPENDS:= +librt
endef
-define Package/uclibc
-$(call Package/uclibc/Default)
- TITLE:=C library embedded systems
+define Package/librt
+$(call Package/libc/Default)
+ TITLE:=POSIX.1b RealTime extension library
endef
define Package/ldd
@@ -112,10 +118,11 @@ $(call Package/uclibc/Default)
endef
define Package/ldconfig
-$(call Package/uclibc/Default)
+$(call Package/libc/Default)
TITLE:=Shared library path configuration
endef
+
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
endef
@@ -184,40 +191,62 @@ define Package/libgcc/install
$(CP) $(TOOLCHAIN_DIR)/lib$(LIB_SUFFIX)/libgcc_s.so.* $(1)/lib/
endef
-ifeq ($(word 1,$(subst ., ,$(LIBGCC_VERSION))),4)
- define Package/libssp/install
+define Package/libssp/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(TOOLCHAIN_DIR)/lib$(LIB_SUFFIX)/libssp.so.* $(1)/lib/
- endef
-endif
+endef
define Package/libstdcpp/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(TOOLCHAIN_DIR)/usr/lib$(LIB_SUFFIX)/libstdc++.so.* $(1)/usr/lib/
+endef
+
+define Package/glibc/install
$(INSTALL_DIR) $(1)/lib
- $(CP) $(TOOLCHAIN_DIR)/lib$(LIB_SUFFIX)/libstdc++.so.* $(1)/lib/
+ $(CP) $(TOOLCHAIN_DIR)/lib/ld*.so.* $(1)/lib/
+ $(CP) $(TOOLCHAIN_DIR)/lib/ld-$(LIBC_VERSION).so $(1)/lib/
+ for file in libanl libc libcidn libcrypt libdl libm libnsl libnss_dns libnss_files libresolv libutil; do \
+ $(CP) $(TOOLCHAIN_DIR)/lib/$$$$file.so.* $(1)/lib/; \
+ $(CP) $(TOOLCHAIN_DIR)/lib/$$$$file-$(LIBC_VERSION).so $(1)/lib/; \
+ done
+endef
+
+define Package/eglibc/install
+$(call Package/glibc/install,$1)
+endef
+
+define Package/uClibc/install
+ $(INSTALL_DIR) $(1)/lib
+ for file in ld$(LIB_SUFFIX)-uClibc libc libcrypt libdl libm libnsl libresolv libuClibc libutil; do \
+ $(CP) $(TOOLCHAIN_DIR)/lib/$$$$file.so.* $(1)/lib/; \
+ $(CP) $(TOOLCHAIN_DIR)/lib/$$$$file-$(LIBC_VERSION).so $(1)/lib/; \
+ done
+endef
+
+define Package/libc/install
+$(call Package/$(LIBC)/install,$1)
endef
define Package/libpthread/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(TOOLCHAIN_DIR)/lib/libpthread.so.* $(1)/lib/
- $(CP) $(TOOLCHAIN_DIR)/lib/libpthread-$(UCLIBC_VERSION).so $(1)/lib/
+ $(CP) $(TOOLCHAIN_DIR)/lib/libpthread-$(LIBC_VERSION).so $(1)/lib/
endef
-define Package/uclibc/install
+define Package/librt/install
$(INSTALL_DIR) $(1)/lib
- for file in ld$(LIB_SUFFIX)-uClibc libc libcrypt libdl libm libnsl libresolv librt libuClibc libutil; do \
- $(CP) $(TOOLCHAIN_DIR)/lib/$$$$file.so.* $(1)/lib/; \
- $(CP) $(TOOLCHAIN_DIR)/lib/$$$$file-$(UCLIBC_VERSION).so $(1)/lib/; \
- done
+ $(CP) $(TOOLCHAIN_DIR)/lib/librt.so.* $(1)/lib/
+ $(CP) $(TOOLCHAIN_DIR)/lib/librt-$(LIBC_VERSION).so $(1)/lib/
endef
define Package/ldd/install
- $(INSTALL_DIR) $(1)/bin/
- $(CP) $(TOOLCHAIN_DIR)/target-utils/ldd $(1)/bin/
+ $(INSTALL_DIR) $(1)/usr/bin/
+ $(CP) $(TOOLCHAIN_DIR)/usr/bin/ldd $(1)/usr/bin/
endef
define Package/ldconfig/install
- $(INSTALL_DIR) $(1)/bin/
- $(CP) $(TOOLCHAIN_DIR)/target-utils/ldconfig $(1)/bin/
+ $(INSTALL_DIR) $(1)/sbin/
+ $(CP) $(TOOLCHAIN_DIR)/sbin/ldconfig $(1)/sbin/
endef
ifneq ($(DUMP),1)
@@ -225,10 +254,11 @@ ifneq ($(DUMP),1)
endif
$(eval $(call BuildPackage,base-files$(TARGET)))
+$(eval $(call BuildPackage,libc))
$(eval $(call BuildPackage,libgcc))
$(eval $(call BuildPackage,libssp))
$(eval $(call BuildPackage,libstdcpp))
$(eval $(call BuildPackage,libpthread))
-$(eval $(call BuildPackage,uclibc))
+$(eval $(call BuildPackage,librt))
$(eval $(call BuildPackage,ldd))
$(eval $(call BuildPackage,ldconfig))
diff --git a/package/kexec-tools/Makefile b/package/kexec-tools/Makefile
index cef46db4fe..e497542468 100644
--- a/package/kexec-tools/Makefile
+++ b/package/kexec-tools/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2008 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -37,7 +37,7 @@ define Package/kexec-tools/config
endef
CONFIGURE_ARGS = \
- --target=$(CONFIG_KEXEC_TOOLS_TARGET_NAME)-linux-uclibc \
+ --target=$(CONFIG_KEXEC_TOOLS_TARGET_NAME)-linux-$(TARGET_SUFFIX) \
--host=$(GNU_TARGET_NAME)-uclibc \
--build=$(GNU_HOST_NAME) \
--program-prefix="" \
@@ -49,7 +49,9 @@ CONFIGURE_ARGS = \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
-CONFIGURE_VARS += BUILD_CC=$(HOSTCC)
+CONFIGURE_VARS += \
+ BUILD_CC=$(HOSTCC) \
+ TARGET_CC=$(TARGET_CC) \
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) all