Bug 1241416 - Create a tier for things happening before export. r=gps
authorMike Hommey <mh+mozilla@glandium.org>
Thu, 21 Jan 2016 17:08:53 +0900
changeset 281120 abd3c51d6eb1146dee3147845cfa65e954445eca
parent 281119 012e4a8649219b7972a878ff9b9983ef80437370
child 281121 38c6162cefb9edb248f00b0a2372f60c3f158c76
push id17162
push usercbook@mozilla.com
push dateFri, 22 Jan 2016 13:05:43 +0000
treeherderfx-team@4d92c4a64413 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs1241416
milestone46.0a1
Bug 1241416 - Create a tier for things happening before export. r=gps While it would be possible to move those things in the export tier, it is still interesting to have reporting for them separately, especially considering I expect things to gradually move from the other tiers to this new one. While not entirely obvious, the recurse_pre-export target doesn't imply actual recursion as long as the RecursiveMake backend doesn't emit traversal information for it, so nothing will actually happen on this target, but the interesting part is that it runs, per the generic config/recurse.mk rules for tiers, between BUILDSTATUS TIER_START and BUILDSTATUS TIER_FINISH, so that all its dependencies are accounted as being part of the pre-export tier.
Makefile.in
config/baseconfig.mk
--- a/Makefile.in
+++ b/Makefile.in
@@ -153,30 +153,30 @@ 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
+recurse_pre-export:: install-manifests
 binaries::
 	@$(MAKE) install-manifests NO_REMOVE=1 install_manifests=dist/include
 endif
 endif
 else # !MOZ_PROFILE_USE (normal build)
-export:: install-manifests
+recurse_pre-export:: install-manifests
 binaries::
 	@$(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
+recurse_pre-export:: install-dist/sdk
 
 ifndef JS_STANDALONE
 ifdef ENABLE_TESTS
 # Additional makefile targets to call automated test suites
 include $(topsrcdir)/testing/testsuite-targets.mk
 endif
 endif
 
--- a/config/baseconfig.mk
+++ b/config/baseconfig.mk
@@ -40,17 +40,17 @@ ifeq (a,$(firstword a$(subst /, ,$(srcdi
 $(error MSYS-style srcdir are not supported for Windows builds.)
 endif
 endif
 endif # WINNT
 
 ifndef INCLUDED_AUTOCONF_MK
 default::
 else
-TIERS := export $(if $(COMPILE_ENVIRONMENT),compile )misc libs tools
+TIERS := pre-export export $(if $(COMPILE_ENVIRONMENT),compile )misc libs tools
 endif
 
 # These defines are used to support the twin-topsrcdir model for comm-central.
 ifdef MOZILLA_SRCDIR
   MOZILLA_DIR = $(MOZILLA_SRCDIR)
 else
   MOZILLA_DIR = $(topsrcdir)
 endif