Bug 1239217 - Enable the hybrid FasterMake+RecursiveMake backend for artifact builds. r=gps
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 22 Jan 2016 14:23:03 +0900
changeset 281203 ef27c15ebe8758a7bc701fdb45a9018e8718710e
parent 281202 0d610a47138ddf28a34c1cd078f1bfe553af8c96
child 281204 cb5a01dc56fb199aed6ff627d17ced5bc25342ce
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
bugs1239217
milestone46.0a1
Bug 1239217 - Enable the hybrid FasterMake+RecursiveMake backend for artifact builds. r=gps
build/autoconf/config.status.m4
configure.in
--- a/build/autoconf/config.status.m4
+++ b/build/autoconf/config.status.m4
@@ -223,17 +223,23 @@ MOZ_RUN_CONFIG_STATUS()],
 )])
 
 define([AC_CONFIG_HEADER],
 [m4_fatal([Use CONFIGURE_DEFINE_FILES in moz.build files to produce header files.])
 ])
 
 define([MOZ_BUILD_BACKEND],
 [
-BUILD_BACKENDS="RecursiveMake"
+dnl For now, only enable the unified hybrid build system on artifact builds,
+dnl otherwise default to RecursiveMake /and/ FasterMake.
+if [ -n "$MOZ_ARTIFACT_BUILDS" ]; then
+    BUILD_BACKENDS="FasterMake+RecursiveMake"
+else
+    BUILD_BACKENDS="RecursiveMake FasterMake"
+fi
 
 MOZ_ARG_ENABLE_STRING(build-backend,
 [  --enable-build-backend={$($(dirname ]$[0)/$1/mach python -c "from mozbuild.backend import backends; print ','.join(sorted(backends))")}
                          Enable additional build backends],
-[ BUILD_BACKENDS="RecursiveMake `echo $enableval | sed 's/,/ /g'`"])
+[ BUILD_BACKENDS="$BUILD_BACKENDS `echo $enableval | sed 's/,/ /g'`"])
 
 AC_SUBST_SET([BUILD_BACKENDS])
 ])
--- a/configure.in
+++ b/configure.in
@@ -134,18 +134,16 @@ EOF
   exit 1
   break
 fi
 MOZ_BUILD_ROOT=`pwd -W 2>/dev/null || pwd -P`
 DIST="$MOZ_BUILD_ROOT/dist"
 
 MOZ_PYTHON
 
-MOZ_BUILD_BACKEND(.)
-
 MOZ_DEFAULT_COMPILER
 
 COMPILE_ENVIRONMENT=1
 MOZ_ARG_DISABLE_BOOL(compile-environment,
 [  --disable-compile-environment
                           Disable compiler/library checks.],
     COMPILE_ENVIRONMENT= )
 AC_SUBST(COMPILE_ENVIRONMENT)
@@ -157,16 +155,18 @@ MOZ_ARG_ENABLE_BOOL(artifact-builds,
     MOZ_ARTIFACT_BUILDS= )
 AC_SUBST(MOZ_ARTIFACT_BUILDS)
 
 if test -n "$MOZ_ARTIFACT_BUILDS"; then
     dnl Artifact builds imply --disable-compile-environment.
     COMPILE_ENVIRONMENT=
 fi
 
+MOZ_BUILD_BACKEND(.)
+
 MOZ_ARG_WITH_STRING(l10n-base,
 [  --with-l10n-base=DIR    path to l10n repositories],
     L10NBASEDIR=$withval)
 if test -n "$L10NBASEDIR"; then
     if test "$L10NBASEDIR" = "yes" -o "$L10NBASEDIR" = "no"; then
         AC_MSG_ERROR([--with-l10n-base must specify a path])
     elif test -d "$L10NBASEDIR"; then
         L10NBASEDIR=`cd "$L10NBASEDIR" && pwd -P`
@@ -4057,18 +4057,16 @@ browser)
   AC_DEFINE(MOZ_PHOENIX)
   ;;
 
 xulrunner)
   AC_DEFINE(MOZ_XULRUNNER)
   ;;
 esac
 
-BUILD_BACKENDS="$BUILD_BACKENDS FasterMake"
-
 if test -n "$MOZ_B2G"; then
     AC_DEFINE(MOZ_B2G)
 fi
 
 # Graphene is a desktop runtime for running applications with a HTML UI.
 if test -n "$MOZ_GRAPHENE"; then
     AC_DEFINE(MOZ_GRAPHENE)
 fi