Bug 1063880 - Allow a --disable-compile-environment to go through a full mach build. r=mshal
authorMike Hommey <mh+mozilla@glandium.org>
Tue, 10 Mar 2015 15:16:51 +0900
changeset 261837 98d0c08747c1e002741b48002f11ee82aa124e55
parent 261836 84f6168fbf032e9207de3a918c1fbbe79b8ea7f6
child 261838 5bfaed9ef2d091f2261a0dc62511b625a5f3acda
push id4718
push userraliiev@mozilla.com
push dateMon, 11 May 2015 18:39:53 +0000
treeherdermozilla-beta@c20c4ef55f08 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmshal
bugs1063880
milestone39.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1063880 - Allow a --disable-compile-environment to go through a full mach build. r=mshal
Makefile.in
config/Makefile.in
config/recurse.mk
dom/plugins/test/testaddon/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
@@ -35,20 +35,22 @@ configure_dir = $(topsrcdir)
 endif
 
 ifndef MOZ_PROFILE_USE
 # We need to explicitly put backend.RecursiveMakeBackend here
 # otherwise the rule in rules.mk doesn't run early enough.
 $(TIERS) binaries:: CLOBBER $(configure_dir)/configure config.status backend.RecursiveMakeBackend
 ifndef JS_STANDALONE
 ifndef LIBXUL_SDK
+ifdef COMPILE_ENVIRONMENT
 $(TIERS) binaries:: $(topsrcdir)/js/src/configure js/src/config.status
 endif
 endif
 endif
+endif
 
 ifdef JS_STANDALONE
 .PHONY: CLOBBER
 CLOBBER:
 else
 CLOBBER: $(topsrcdir)/CLOBBER
 	@echo 'STOP!  The CLOBBER file has changed.'
 	@echo 'Please run the build through a sanctioned build wrapper, such as'
@@ -100,22 +102,24 @@ install_manifest_depends = \
   CLOBBER \
   $(configure_dir)/configure \
   config.status \
   backend.RecursiveMakeBackend \
   $(NULL)
 
 ifndef JS_STANDALONE
 ifndef LIBXUL_SDK
+ifdef COMPILE_ENVIRONMENT
 install_manifest_depends += \
   $(topsrcdir)/js/src/configure \
   js/src/config.status \
   $(NULL)
 endif
 endif
+endif
 
 .PHONY: 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,
--- a/config/Makefile.in
+++ b/config/Makefile.in
@@ -13,20 +13,20 @@ endif
 ifdef GNU_CC
 MODULE_OPTIMIZE_FLAGS = -O3
 endif
 
 include $(topsrcdir)/config/config.mk
 
 # L10n jobs are doing make -C config manually before anything else,
 # and need nsinstall to be built as a consequence.
+ifdef COMPILE_ENVIRONMENT
 export:: host
 
 ifneq (WINNT,$(HOST_OS_ARCH))
-ifdef COMPILE_ENVIRONMENT
 # Ensure nsinstall is atomically created
 nsinstall$(HOST_BIN_SUFFIX): $(HOST_PROGRAM)
 	cp $^ $@.tmp
 	mv $@.tmp $@
 
 NSINSTALL_EXECUTABLES := nsinstall$(HOST_BIN_SUFFIX)
 NSINSTALL_DEST := $(DIST)/bin
 NSINSTALL_TARGET := host
--- a/config/recurse.mk
+++ b/config/recurse.mk
@@ -91,20 +91,22 @@ ifeq ($(CURRENT_TIER),export)
 # else, so keep this global dependency to make config/export first for now.
 $(addsuffix /$(CURRENT_TIER),$(filter-out config,$(CURRENT_DIRS))): config/$(CURRENT_TIER)
 
 # The export tier requires nsinstall, which is built from config. So every
 # subdirectory traversal needs to happen after building nsinstall in config, which
 # is done with the config/host target. Note the config/host target only exists if
 # nsinstall is actually built, which it is not on Windows, because we use
 # nsinstall.py there.
+ifdef COMPILE_ENVIRONMENT
 ifneq (,$(filter config/host, $(compile_targets)))
 $(addsuffix /$(CURRENT_TIER),$(CURRENT_DIRS)): config/host
 endif
 endif
+endif
 
 endif # ifeq ($(CURRENT_TIER),compile)
 
 else
 
 # Don't recurse if MAKELEVEL is NO_RECURSE_MAKELEVEL as defined above
 ifeq ($(NO_RECURSE_MAKELEVEL),$(MAKELEVEL))
 
--- a/dom/plugins/test/testaddon/Makefile.in
+++ b/dom/plugins/test/testaddon/Makefile.in
@@ -11,13 +11,15 @@ else
 plugin_file_names = $(DLL_PREFIX)nptest$(DLL_SUFFIX) $(DLL_PREFIX)npsecondtest$(DLL_SUFFIX)
 addon_file_name = testaddon.xpi
 endif
 
 # This is so hacky. Waiting on bug 988938.
 testdir = $(abspath $(DEPTH)/_tests/xpcshell/dom/plugins/test/unit/)
 addonpath = $(testdir)/$(addon_file_name)
 
+ifdef COMPILE_ENVIRONMENT
 libs::
 	$(NSINSTALL) -D $(testdir)
 	rm -f $(addonpath)
 	cd $(srcdir) && zip -rD $(addonpath) install.rdf
 	cd $(DIST) && zip -rD $(addonpath) $(foreach name,$(plugin_file_names),plugins/$(name))
+endif