base-files: return success on lib-copying with external toolchain when using an exter...
[oweals/openwrt.git] / package / base-files / Makefile
index b7fb07309eb18d7158ae1c4318a6d33c77a861a2..e56774f1e34f3540ed1229d97f06459496ece910 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2007-2010 OpenWrt.org
+# Copyright (C) 2007-2011 OpenWrt.org
 # Copyright (C) 2010 Vertical Communications
 #
 # This is free software, licensed under the GNU General Public License v2.
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=base-files
-PKG_RELEASE:=66
+PKG_RELEASE:=68
 
 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
 PKG_BUILD_DEPENDS:=opkg/host
@@ -362,7 +362,7 @@ ifneq ($(BUILD_LIBGCC),)
                "$(wildcard $(TOOLCHAIN_DIR)/lib/libpthread_so.a)" \
                "$(patsubst $(TOOLCHAIN_DIR)/lib/%,$(PKG_BUILD_DIR)/%,$(wildcard $(TOOLCHAIN_DIR)/lib/libpthread-*.so))" \
                -Wl,-z,nodelete,-z,initfirst,-init=__pthread_initialize_minimal_internal \
-               -ldl $(BUILD_LIBGCC) \
+               -ldl -lc $(BUILD_LIBGCC) \
                -Wl,-soname=libpthread.so.0
   endef
   define Build/Compile/libgcc
@@ -487,10 +487,11 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
                $(TOOLCHAIN_DIR)/lib/ld-$(LIBC_SO_VERSION).so \
                $(1)/lib/
        for file in libanl libc libcidn libcrypt libdl libm $(use_libnsl) $(use_nsswitch) libresolv $(use_libutil); do \
-               $(CP) \
-                       $(TOOLCHAIN_DIR)/lib/$$$$file.so.* \
-                       $(TOOLCHAIN_DIR)/lib/$$$$file-$(LIBC_SO_VERSION).so \
-                       $(1)/lib/; \
+               for file in $(TOOLCHAIN_DIR)/lib/$$$$file.so.* $(TOOLCHAIN_DIR)/lib/$$$$file-$(LIBC_SO_VERSION).so; do \
+                       if [ -e "$$$$file" ]; then \
+                               $(CP) $$$$file $(1)/lib/; \
+                       fi; \
+               done; \ 
        done
   endef
 
@@ -575,7 +576,8 @@ else
                dir=`dirname $$$$file` ; \
                $(INSTALL_DIR) $(1)/$$$$dir ; \
                $(CP) $(call qstrip,$(CONFIG_LIBGCC_ROOT_DIR))/$$$$file $(1)/$$$$dir/ ; \
-       done
+       done ; \
+       exit 0
   endef
 
   define Package/libssp/install
@@ -583,7 +585,8 @@ else
                dir=`dirname $$$$file` ; \
                $(INSTALL_DIR) $(1)/$$$$dir ; \
                $(CP) $(call qstrip,$(CONFIG_LIBSSP_ROOT_DIR))/$$$$file $(1)/$$$$dir/ ; \
-       done
+       done ; \
+       exit 0
   endef
 
   define Package/libstdcpp/install
@@ -591,7 +594,8 @@ else
                dir=`dirname $$$$file` ; \
                $(INSTALL_DIR) $(1)/$$$$dir ; \
                $(CP) $(call qstrip,$(CONFIG_LIBSTDCPP_ROOT_DIR))/$$$$file $(1)/$$$$dir/ ; \
-       done
+       done ; \
+       exit 0
   endef
 
   define Package/libc/install
@@ -599,7 +603,8 @@ else
                dir=`dirname $$$$file` ; \
                $(INSTALL_DIR) $(1)/$$$$dir ; \
                $(CP) $(call qstrip,$(CONFIG_LIBC_ROOT_DIR))/$$$$file $(1)/$$$$dir/ ; \
-       done
+       done ; \
+       exit 0
   endef
 
   define Package/libpthread/install
@@ -607,7 +612,8 @@ else
                dir=`dirname $$$$file` ; \
                $(INSTALL_DIR) $(1)/$$$$dir ; \
                $(CP) $(call qstrip,$(CONFIG_LIBPTHREAD_ROOT_DIR))/$$$$file $(1)/$$$$dir/ ; \
-       done
+       done ; \
+       exit 0
   endef
 
   define Package/librt/install
@@ -615,7 +621,8 @@ else
                dir=`dirname $$$$file` ; \
                $(INSTALL_DIR) $(1)/$$$$dir ; \
                $(CP) $(call qstrip,$(CONFIG_LIBRT_ROOT_DIR))/$$$$file $(1)/$$$$dir/ ; \
-       done
+       done ; \
+       exit 0
   endef
 
   define Package/ldd/install
@@ -623,7 +630,8 @@ else
                dir=`dirname $$$$file` ; \
                $(INSTALL_DIR) $(1)/$$$$dir ; \
                $(CP) $(call qstrip,$(CONFIG_LDD_ROOT_DIR))/$$$$file $(1)/$$$$dir/ ; \
-       done
+       done ; \
+       exit 0
   endef
 
   define Package/ldconfig/install
@@ -631,7 +639,8 @@ else
                dir=`dirname $$$$file` ; \
                $(INSTALL_DIR) $(1)/$$$$dir ; \
                $(CP) $(call qstrip,$(CONFIG_LDCONFIG_ROOT_DIR))/$$$$file $(1)/$$$$dir/ ; \
-       done
+       done ; \
+       exit 0
   endef
 
 endif