Bug 1270229 - Remove dist/idl install manifest processing from root Makefile; r?glandium
Before this commit, both the root Makefile and
config/makefiles/xpidl/Makefile were processing the dist/idl install
manifest. This was redundant.
This patches eliminates the redundancy by removing the dist/idl install
manifest processing in the root Makefile. A nice benefit of this is some
one-off hacks in the faster backend have been eliminated.
MozReview-Commit-ID: JxpYnjnm900
--- a/Makefile.in
+++ b/Makefile.in
@@ -126,17 +126,17 @@ define build_backend_rule
endef
$(foreach file,$(BUILD_BACKEND_FILES),$(eval $(call build_backend_rule,$(file))))
default:: $(BUILD_BACKEND_FILES)
endif
install_manifests := \
- $(addprefix dist/,branding idl include public private sdk xpi-stage) \
+ $(addprefix dist/,branding include public private sdk xpi-stage) \
_tests \
$(NULL)
# Skip the dist/bin install manifest when using the hybrid
# FasterMake/RecursiveMake backend. This is a hack until bug 1241744 moves
# xpidl handling to FasterMake in that case, mechanically making the dist/bin
# install manifest non-existent (non-existent manifests being skipped)
ifeq (,$(filter FasterMake+RecursiveMake,$(BUILD_BACKENDS)))
install_manifests += dist/bin
@@ -157,22 +157,20 @@ install_manifest_depends += \
endif
endif
.PHONY: install-manifests
install-manifests: $(addprefix install-,$(install_manifests))
# If we're using the hybrid FasterMake/RecursiveMake backend, we want
# to recurse in the faster/ directory in parallel of install manifests.
-# But dist/idl needs to happen before (cf. dependencies in
-# config/faster/rules.mk)
ifneq (,$(filter FasterMake+RecursiveMake,$(BUILD_BACKENDS)))
install-manifests: faster
.PHONY: faster
-faster: install-dist/idl
+faster:
$(MAKE) -C faster FASTER_RECURSIVE_MAKE=1
endif
# process_install_manifest needs to be invoked with --no-remove when building
# js as standalone because automated builds are building nspr separately and
# that would remove the resulting files.
# Eventually, a standalone js build would just be able to build nspr itself,
# removing the need for the former.
--- a/config/faster/rules.mk
+++ b/config/faster/rules.mk
@@ -93,18 +93,12 @@ ACDEFINES += -DBUILD_FASTER
-DBOOKMARKS_INCLUDE_DIR=$(TOPSRCDIR)/browser/locales/en-US/profile \
$(ACDEFINES) \
install_$(subst /,_,$*)
# ============================================================================
# Below is a set of additional dependencies and variables used to build things
# that are not supported by data in moz.build.
-# The xpidl target in config/makefiles/xpidl requires the install manifest for
-# dist/idl to have been processed. When using the hybrid
-# FasterMake/RecursiveMake backend, this dependency is handled in the top-level
-# Makefile.
-ifndef FASTER_RECURSIVE_MAKE
-$(TOPOBJDIR)/config/makefiles/xpidl/xpidl: $(TOPOBJDIR)/install-dist_idl
-endif
-# It also requires all the install manifests for dist/bin to have been processed
-# because it adds interfaces.manifest references with buildlist.py.
+# The xpidl target in config/makefiles/xpidl all the install manifests for
+# dist/bin to have been processed because it adds interfaces.manifest
+# references with buildlist.py.
$(TOPOBJDIR)/config/makefiles/xpidl/xpidl: $(addprefix install-,$(filter dist/bin%,$(INSTALL_MANIFESTS)))