Bug 1270229 - Remove dist/idl install manifest processing from root Makefile; r?glandium draft
authorGregory Szorc <gps@mozilla.com>
Wed, 04 May 2016 11:56:22 -0700
changeset 363460 4917c665006542bd5aa1ebcfb93b1fa487320dde
parent 363459 0ab077f0f81b97ca2234136d51939d8d8811246b
child 520042 6950ef675e65b87498fa7a6f524c371f12c64614
push id17208
push usergszorc@mozilla.com
push dateWed, 04 May 2016 19:20:01 +0000
reviewersglandium
bugs1270229
milestone49.0a1
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
Makefile.in
config/faster/rules.mk
--- 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)))