Bug 1062668 - Only process the "include" install manifest when invoking the binaries target. r=gps
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 05 Sep 2014 10:27:39 +0900
changeset 203754 7dac4acfe611feca9f5ed3ca91b9055d46b99ad0
parent 203753 c234ba51a1d1594e49b635e9624c813147bb3496
child 203755 4ec0be60b1cc285cd8b455e44abfffdb9f56c71a
push id8573
push userryanvm@gmail.com
push dateFri, 05 Sep 2014 16:12:36 +0000
treeherderfx-team@6f11ce0ae661 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs1062668
milestone35.0a1
Bug 1062668 - Only process the "include" install manifest when invoking the binaries target. r=gps
Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
@@ -87,17 +87,20 @@ backend.RecursiveMakeBackend:
 
 Makefile: backend.RecursiveMakeBackend
 	@$(TOUCH) $@
 
 include backend.RecursiveMakeBackend.pp
 
 default:: backend.RecursiveMakeBackend
 
-install_manifests := bin idl include public private sdk
+install_manifests := \
+  $(addprefix dist/,bin idl include public private sdk) \
+  _tests \
+  $(NULL)
 install_manifest_depends = \
   CLOBBER \
   $(configure_dir)/configure \
   config.status \
   backend.RecursiveMakeBackend \
   $(NULL)
 
 ifndef JS_STANDALONE
@@ -105,59 +108,63 @@ ifndef LIBXUL_SDK
 install_manifest_depends += \
   $(topsrcdir)/js/src/configure \
   js/src/config.status \
   $(NULL)
 endif
 endif
 
 .PHONY: install-manifests
-install-manifests: $(addprefix install-dist-,$(install_manifests))
+install-manifests: $(addprefix install-,$(install_manifests))
 
 # 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.
 ifdef JS_STANDALONE
 NO_REMOVE=1
 endif
 
-.PHONY: $(addprefix install-dist-,$(install_manifests))
-$(addprefix install-dist-,$(install_manifests)): install-dist-%: $(install_manifest_depends)
+.PHONY: $(addprefix install-,$(install_manifests))
+$(addprefix install-,$(filter dist/%,$(install_manifests))): install-dist/%: $(install_manifest_depends)
 	$(call py_action,process_install_manifest,$(if $(NO_REMOVE),--no-remove )$(DIST)/$* _build_manifests/install/dist_$*)
 
+install-_tests: $(install_manifest_depends)
+	$(call py_action,process_install_manifest,$(if $(NO_REMOVE),--no-remove )_tests _build_manifests/install/tests)
+
+# For compatibility
 .PHONY: install-tests
-install-manifests: install-tests
-install-tests: $(install_manifest_depends)
-	$(call py_action,process_install_manifest,$(if $(NO_REMOVE),--no-remove )_tests _build_manifests/install/tests)
+install-tests: install-_tests
 
 include $(topsrcdir)/build/moz-automation.mk
 
 # _tests should be purged during cleaning. However, we don't want it purged
 # during PGO builds because it contains some auto-generated files.
 ifneq ($(filter-out maybe_clobber_profiledbuild,$(MAKECMDGOALS)),)
 GARBAGE_DIRS += _tests
 endif
 
 # Windows PGO builds don't perform a clean before the 2nd pass. So, we want
 # to preserve content for the 2nd pass on Windows. Everywhere else, we always
 # process the install manifests as part of export.
+# For the binaries rule, not all the install manifests matter, so force only
+# the interesting ones to be done.
 ifdef MOZ_PROFILE_USE
 ifndef NO_PROFILE_GUIDED_OPTIMIZE
 ifneq ($(OS_ARCH)_$(GNU_CC), WINNT_)
 export:: install-manifests
 binaries::
-	@$(MAKE) install-manifests NO_REMOVE=1
+	@$(MAKE) install-manifests NO_REMOVE=1 install_manifests=dist/include
 endif
 endif
 else # !MOZ_PROFILE_USE (normal build)
 export:: install-manifests
 binaries::
-	@$(MAKE) install-manifests NO_REMOVE=1
+	@$(MAKE) install-manifests NO_REMOVE=1 install_manifests=dist/include
 endif
 
 # For historical reasons that are unknown, $(DIST)/sdk is always blown away
 # with no regard for PGO passes. This decision could probably be revisited.
 export:: install-dist-sdk
 
 ifndef JS_STANDALONE
 ifdef ENABLE_TESTS