Bug 1240149 - Build system changes necessary to run linux artifact builds in automation. r=glandium draft
authorChris Manchester <cmanchester@mozilla.com>
Thu, 11 Feb 2016 18:46:46 -0800
changeset 338362 bb2a22cf78d761289f82913e81ba6f50ea0b14b6
parent 338095 05c087337043dd8e71cc27bdb5b9d55fd00aaa26
child 338363 23a5c8d86b8b0e48885fddaf5a69bb4544dc6b1e
push id12489
push usercmanchester@mozilla.com
push dateTue, 08 Mar 2016 22:52:25 +0000
reviewersglandium
bugs1240149
milestone48.0a1
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,23 @@ 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. This is the default for artifact
+# based builds.
 libs::
+ifndef MOZ_ARTIFACT_BUILDS
 	$(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)))