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 281171 ef27c15ebe8758a7bc701fdb45a9018e8718710e
parent 281170 0d610a47138ddf28a34c1cd078f1bfe553af8c96
child 281172 cb5a01dc56fb199aed6ff627d17ced5bc25342ce
push id70683
push usermh@glandium.org
push dateFri, 22 Jan 2016 06:44:11 +0000
treeherdermozilla-inbound@ef27c15ebe87 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs1239217
milestone46.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 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