Bug 1240149 - Build system changes necessary to run linux artifact builds in automation. r=glandium
authorChris Manchester <cmanchester@mozilla.com>
Thu, 11 Feb 2016 18:46:46 -0800
changeset 327777 079e85fe0e4d6271bd38ea6966950afd1b425b4c
parent 327776 c9218e5c95d3a29413d0ee4cd93ada1b86a6e009
child 327778 00de67af498e257e82c3c9b795c4d89087c10cda
push id1146
push userCallek@gmail.com
push dateMon, 25 Jul 2016 16:35:44 +0000
treeherdermozilla-release@a55778f9cd5a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs1240149
milestone48.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 1240149 - Build system changes necessary to run linux artifact builds in automation. r=glandium MozReview-Commit-ID: CJ0CTBtklCs
browser/config/mozconfigs/linux64/artifact
browser/installer/Makefile.in
moz.build
testing/testsuite-targets.mk
toolkit/mozapps/installer/packager.py
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/artifact
@@ -0,0 +1,6 @@
+MOZ_AUTOMATION_BUILD_SYMBOLS=0
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/browser/config/mozconfigs/linux64/nightly"
+
+ac_add_options --enable-artifact-builds
--- a/browser/installer/Makefile.in
+++ b/browser/installer/Makefile.in
@@ -135,18 +135,22 @@ ifeq (x86,$(CPU_ARCH))
 ifdef _MSC_VER
 ifndef CLANG_CL
 DEFINES += -DWOW_HELPER
 endif
 endif
 endif
 
 
+# Builds using the hybrid FasterMake/RecursiveMake backend will
+# fail to produce a langpack. See bug 1255096.
 libs::
+ifeq (,$(filter FasterMake+RecursiveMake,$(BUILD_BACKENDS)))
 	$(MAKE) -C $(DEPTH)/browser/locales langpack
+endif
 
 ifeq (WINNT,$(OS_ARCH))
 PKGCOMP_FIND_OPTS =
 else
 PKGCOMP_FIND_OPTS = -L
 endif
 ifeq (Darwin, $(OS_ARCH))
 FINDPATH = $(_APPNAME)/Contents/MacOS
--- a/moz.build
+++ b/moz.build
@@ -72,14 +72,16 @@ if CONFIG['COMPILE_ENVIRONMENT']:
             'config/external/nss',
         ]
 
     if CONFIG['BUILD_CTYPES']:
         DIRS += ['config/external/ffi']
     if CONFIG['USE_ICU']:
         DIRS += ['config/external/icu']
     DIRS += ['js/src']
+else:
+    TEST_DIRS += ['js/src/tests']
 
 if not CONFIG['JS_STANDALONE'] and CONFIG['MOZ_BUILD_APP']:
     # Bring in the configuration for the configured application.
     include('/' + CONFIG['MOZ_BUILD_APP'] + '/app.mozbuild')
 
 include('build/templates.mozbuild')
--- a/testing/testsuite-targets.mk
+++ b/testing/testsuite-targets.mk
@@ -21,16 +21,20 @@ endif
 ifdef MOZ_B2G
 BUILD_GTEST=
 endif
 
 ifneq (browser,$(MOZ_BUILD_APP))
 BUILD_GTEST=
 endif
 
+ifndef COMPILE_ENVIRONMENT
+BUILD_GTEST=
+endif
+
 ifndef NO_FAIL_ON_TEST_ERRORS
 define check_test_error_internal
   @errors=`grep 'TEST-UNEXPECTED-' $@.log` ;\
   if test "$$errors" ; then \
 	  echo '$@ failed:'; \
 	  echo "$$errors"; \
           $(if $(1),echo $(1);) \
 	  exit 1; \
@@ -174,24 +178,27 @@ PKG_STAGE = $(DIST)/test-stage
 stage-all: \
   stage-config \
   stage-mach \
   stage-extensions \
   stage-mochitest \
   stage-jstests \
   stage-jetpack \
   stage-marionette \
-  stage-cppunittests \
   stage-luciddream \
   test-packages-manifest \
   $(NULL)
 ifdef MOZ_WEBRTC
 stage-all: stage-steeplechase
 endif
 
+ifdef COMPILE_ENVIRONMENT
+stage-all: stage-cppunittests
+endif
+
 TEST_PKGS := \
   common \
   cppunittest \
   mochitest \
   reftest \
   talos \
   web-platform \
   xpcshell \
--- a/toolkit/mozapps/installer/packager.py
+++ b/toolkit/mozapps/installer/packager.py
@@ -362,17 +362,17 @@ def main():
             removals_in = StringIO(open(args.removals).read())
             removals_in.name = args.removals
             removals = RemovedFiles(copier)
             preprocess(removals_in, removals, defines)
             copier.add(mozpath.join(respath, 'removed-files'), removals)
 
     # shlibsign libraries
     if launcher.can_launch():
-        if not mozinfo.isMac:
+        if not mozinfo.isMac and buildconfig.substs.get('COMPILE_ENVIRONMENT'):
             for lib in SIGN_LIBS:
                 libbase = mozpath.join(respath, '%s%s') \
                     % (buildconfig.substs['DLL_PREFIX'], lib)
                 libname = '%s%s' % (libbase, buildconfig.substs['DLL_SUFFIX'])
                 if copier.contains(libname):
                     copier.add(libbase + '.chk',
                                LibSignFile(os.path.join(args.destination,
                                                         libname)))