summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-04-12 20:37:43 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-04-12 20:37:43 +0000
commitcd427d04f03cb9f58eb065ce8cf83415b8a33345 (patch)
tree2209f6db31f5b1c1b4d2fef7d573156c35898d7b
parent691f0d412e27275313f7cd9e103b92c12493fa5f (diff)
base-files: return success on lib-copying with external toolchain
when using an external toolchain the base-files package copies libc, libgcc and others from the library directory. The file list is given as following in the .config: CONFIG_LIBC_FILE_SPEC="./lib/ld{-*.so,-linux*.so.*} ./lib/lib{anl,c,cidn,crypt,dl,m,nsl,nss_dns,nss_files,resolv,util}{-*.so,.so.*}" Because the filenames are composed with different endings, not all files exist and will be skipped. Currently, this works only if the last composed file (util.so.*) really exists. At the moment this works - but only if you don't add a new file like 'uClibc'. Adding it at the end '...resolv,util,uClibc}{-*.so,.so.*}' will lead to this message, because the combination 'libuClibc.so.*' doesn't exist and Make will evaluate the last copy statement of the for loop. --- Message Snippet --- cp: cannot stat `/home/user/Desktop/code/meetwise/toolchain/staging_dir/toolchain-arm_v5te_gcc-linaro_uClibc-0.9.32_eabi/./lib/libnss_files.so.*': No such file or directory cp: cannot stat `/home/user/Desktop/code/meetwise/toolchain/staging_dir/toolchain-arm_v5te_gcc-linaro_uClibc-0.9.32_eabi/./lib/libresolv-*.so': No such file or directory cp: cannot stat `/home/user/Desktop/code/meetwise/toolchain/staging_dir/toolchain-arm_v5te_gcc-linaro_uClibc-0.9.32_eabi/./lib/libresolv.so.*': No such file or directory cp: cannot stat `/home/user/Desktop/code/meetwise/toolchain/staging_dir/toolchain-arm_v5te_gcc-linaro_uClibc-0.9.32_eabi/./lib/libuClibc.so.*': No such file or directory make[2]: *** [/home/user/Desktop/code/meetwise/openwrt/bin/at91/packages/libc_-68_at91.ipk] Error 1 make[2]: Leaving directory `/home/user/Desktop/code/meetwise/openwrt/package/base-files' make[1]: *** [package/base-files/compile] Error 2 make[1]: Leaving directory `/home/user/Desktop/code/meetwise/openwrt' make: *** [package/base-files/compile] Error 2 --- /Message Snippet/ --- To fix this unwanted behaviour I added an extra 'exit 0' to each for-loop and make ignores non-existing files as before. Signed-off-by: Sven Bachmann <dev@mcbachmann.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26623 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/base-files/Makefile33
1 files changed, 21 insertions, 12 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index a4a62d23f..e56774f1e 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -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