include: clean package staging dir files before configure
This is required to allow packages to ship libraries with a different API. Previously the linker would favor the old shared libraries in STAGING_DIR instead of the just compiled ones in PKG_BUILD_DIR. Avoid that problem by clearing the package staging files right after prepare. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 45759
This commit is contained in:
		| @@ -104,6 +104,17 @@ STAMP_BUILT:=$(PKG_BUILD_DIR)/.built | |||||||
| STAMP_INSTALLED:=$(STAGING_DIR)/stamp/.$(PKG_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),)_installed | STAMP_INSTALLED:=$(STAGING_DIR)/stamp/.$(PKG_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),)_installed | ||||||
|  |  | ||||||
| STAGING_FILES_LIST:=$(PKG_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),).list | STAGING_FILES_LIST:=$(PKG_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),).list | ||||||
|  |  | ||||||
|  | define CleanStaging | ||||||
|  | 	rm -f $(STAMP_INSTALLED) | ||||||
|  | 	@-(\ | ||||||
|  | 		cd "$(STAGING_DIR)"; \ | ||||||
|  | 		if [ -f packages/$(STAGING_FILES_LIST) ]; then \ | ||||||
|  | 			cat packages/$(STAGING_FILES_LIST) | xargs -r rm -f 2>/dev/null; \ | ||||||
|  | 		fi; \ | ||||||
|  | 	) | ||||||
|  | endef | ||||||
|  |  | ||||||
| ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),) | ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),) | ||||||
|   USE_GIT_TREE:=1 |   USE_GIT_TREE:=1 | ||||||
|   QUILT:=1 |   QUILT:=1 | ||||||
| @@ -202,6 +213,7 @@ define Build/DefaultTargets | |||||||
|  |  | ||||||
|   $(call Build/Exports,$(STAMP_CONFIGURED)) |   $(call Build/Exports,$(STAMP_CONFIGURED)) | ||||||
|   $(STAMP_CONFIGURED): $(STAMP_PREPARED) |   $(STAMP_CONFIGURED): $(STAMP_PREPARED) | ||||||
|  | 	$(CleanStaging) | ||||||
| 	$(foreach hook,$(Hooks/Configure/Pre),$(call $(hook))$(sep)) | 	$(foreach hook,$(Hooks/Configure/Pre),$(call $(hook))$(sep)) | ||||||
| 	$(Build/Configure) | 	$(Build/Configure) | ||||||
| 	$(foreach hook,$(Hooks/Configure/Post),$(call $(hook))$(sep)) | 	$(foreach hook,$(Hooks/Configure/Post),$(call $(hook))$(sep)) | ||||||
| @@ -219,7 +231,6 @@ define Build/DefaultTargets | |||||||
|  |  | ||||||
|   $(STAMP_INSTALLED) : export PATH=$$(TARGET_PATH_PKG) |   $(STAMP_INSTALLED) : export PATH=$$(TARGET_PATH_PKG) | ||||||
|   $(STAMP_INSTALLED): $(STAMP_BUILT) |   $(STAMP_INSTALLED): $(STAMP_BUILT) | ||||||
| 	$(SUBMAKE) -j1 clean-staging |  | ||||||
| 	rm -rf $(TMP_DIR)/stage-$(PKG_NAME) | 	rm -rf $(TMP_DIR)/stage-$(PKG_NAME) | ||||||
| 	mkdir -p $(TMP_DIR)/stage-$(PKG_NAME)/host $(STAGING_DIR)/packages $(STAGING_DIR_HOST)/packages | 	mkdir -p $(TMP_DIR)/stage-$(PKG_NAME)/host $(STAGING_DIR)/packages $(STAGING_DIR_HOST)/packages | ||||||
| 	$(foreach hook,$(Hooks/InstallDev/Pre),\ | 	$(foreach hook,$(Hooks/InstallDev/Pre),\ | ||||||
| @@ -330,16 +341,9 @@ prepare: | |||||||
| configure: | configure: | ||||||
| compile: prepare-package-install | compile: prepare-package-install | ||||||
| install: compile | install: compile | ||||||
| clean-staging: FORCE |  | ||||||
| 	rm -f $(STAMP_INSTALLED) |  | ||||||
| 	@-(\ |  | ||||||
| 		cd "$(STAGING_DIR)"; \ |  | ||||||
| 		if [ -f packages/$(STAGING_FILES_LIST) ]; then \ |  | ||||||
| 			cat packages/$(STAGING_FILES_LIST) | xargs -r rm -f 2>/dev/null; \ |  | ||||||
| 		fi; \ |  | ||||||
| 	) |  | ||||||
|  |  | ||||||
| clean: clean-staging FORCE | clean: FORCE | ||||||
|  | 	$(CleanStaging) | ||||||
| 	$(call Build/UninstallDev,$(STAGING_DIR),$(STAGING_DIR_HOST)) | 	$(call Build/UninstallDev,$(STAGING_DIR),$(STAGING_DIR_HOST)) | ||||||
| 	$(Build/Clean) | 	$(Build/Clean) | ||||||
| 	rm -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) $(STAGING_DIR_HOST)/packages/$(STAGING_FILES_LIST) | 	rm -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) $(STAGING_DIR_HOST)/packages/$(STAGING_FILES_LIST) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jo-Philipp Wich
					Jo-Philipp Wich