Bug 1481340 - Don't generate combinations of make and tup backends in configure. r=gps,firefox-build-system-reviewers
authorChris Manchester <cmanchester@mozilla.com>
Fri, 10 Aug 2018 22:30:35 +0000
changeset 431032 1a93db801952311861e6f4817bff9113fe60f531
parent 431031 e623335f541313cd59ced846c6cecaeaca7f2c85
child 431033 ebe78e2810c58acd805ef53508f7fdd6692d49ae
push id67649
push usergszorc@mozilla.com
push dateFri, 10 Aug 2018 22:31:08 +0000
treeherderautoland@1a93db801952 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps, firefox-build-system-reviewers
bugs1481340
milestone63.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 1481340 - Don't generate combinations of make and tup backends in configure. r=gps,firefox-build-system-reviewers Differential Revision: https://phabricator.services.mozilla.com/D2911
moz.configure
--- a/moz.configure
+++ b/moz.configure
@@ -254,29 +254,35 @@ def build_backends_choices(_):
                    choices=build_backends_choices)
 def build_backend(backends):
     if backends:
         return tuple('+%s' % b for b in backends)
 
 imply_option('--build-backends', build_backend)
 
 
-@depends('--enable-artifact-builds', '--disable-compile-environment', '--help')
+@depends('--enable-artifact-builds', '--disable-compile-environment',
+         '--enable-build-backend', '--help')
 @imports('sys')
-def build_backend_defaults(artifact_builds, compile_environment, _):
-    if artifact_builds:
+def build_backend_defaults(artifact_builds, compile_environment, requested_backends,
+                           _):
+    if 'Tup' in requested_backends:
+        # As a special case, if Tup was requested, do not combine it with any
+        # Make based backend by default.
+        all_backends = []
+    elif artifact_builds:
         all_backends = ['FasterMake+RecursiveMake']
     else:
         all_backends = ['RecursiveMake', 'FasterMake']
     # Normally, we'd use target.os == 'WINNT', but a dependency on target
     # would require target to depend on --help, as well as host and shell,
     # and this is not a can of worms we can open at the moment.
     if sys.platform == 'win32' and compile_environment:
         all_backends.append('VisualStudio')
-    return tuple(all_backends)
+    return tuple(all_backends) or None
 
 option('--build-backends', nargs='+', default=build_backend_defaults,
        choices=build_backends_choices, help='Build backends to generate')
 
 @depends('--build-backends')
 def build_backends(backends):
     return backends