aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/pkg-generic.mk12
1 files changed, 10 insertions, 2 deletions
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 62c2e221f7..db7f06ddbe 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -294,7 +294,8 @@ $(BUILD_DIR)/%/.stamp_staging_installed:
$(addprefix $(STAGING_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ;\
fi
@$(call MESSAGE,"Fixing libtool files")
- $(Q)find $(STAGING_DIR)/usr/lib* -name "*.la" | xargs --no-run-if-empty \
+ for la in $$(find $(STAGING_DIR)/usr/lib* -name "*.la"); do \
+ cp -a "$${la}" "$${la}.fixed" && \
$(SED) "s:$(BASE_DIR):@BASE_DIR@:g" \
-e "s:$(STAGING_DIR):@STAGING_DIR@:g" \
$(if $(TOOLCHAIN_EXTERNAL_INSTALL_DIR),\
@@ -303,7 +304,14 @@ $(BUILD_DIR)/%/.stamp_staging_installed:
$(if $(TOOLCHAIN_EXTERNAL_INSTALL_DIR),\
-e "s:@TOOLCHAIN_EXTERNAL_INSTALL_DIR@:$(TOOLCHAIN_EXTERNAL_INSTALL_DIR):g") \
-e "s:@STAGING_DIR@:$(STAGING_DIR):g" \
- -e "s:@BASE_DIR@:$(BASE_DIR):g"
+ -e "s:@BASE_DIR@:$(BASE_DIR):g" \
+ "$${la}.fixed" && \
+ if cmp -s "$${la}" "$${la}.fixed"; then \
+ rm -f "$${la}.fixed"; \
+ else \
+ mv "$${la}.fixed" "$${la}"; \
+ fi || exit 1; \
+ done
@$(call step_end,install-staging)
$(Q)touch $@