author Chris Manchester <>
Thu, 11 Feb 2016 18:46:46 -0800
changeset 287924 079e85fe0e4d6271bd38ea6966950afd1b425b4c
parent 287403 4d6b7026be7ec000043471a50e3f63671b912176
child 288201 57e084bd99c6c5417260658bb6502f850f14392e
permissions -rw-r--r--
Bug 1240149 - Build system changes necessary to run linux artifact builds in automation. r=glandium MozReview-Commit-ID: CJ0CTBtklCs

# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at


# Note:
# - Gecko-specific options and rules should go in toolkit/moz.configure.
# - Firefox-specific options and rules should go in browser/moz.configure.
# - Fennec-specific options and rules should go in
#   mobile/android/moz.configure.
# - Spidermonkey-specific options and rules should go in js/moz.configure.
# - etc.

option('--enable-artifact-builds', env='MOZ_ARTIFACT_BUILDS',
       help='Download and use prebuilt binary artifacts.')

def artifact_builds(value):
    if value:
        set_config('MOZ_ARTIFACT_BUILDS', '1')
    return bool(value)

       help='Disable compiler/library checks')

def compile_environment(value):
    if value:
        set_config('COMPILE_ENVIRONMENT', '1')
    return bool(value)

def build_backends_choices(help):
    from mozbuild.backend import backends
    return tuple(backends)

option('--enable-build-backend', nargs='+', choices=build_backends_choices,
       help='Enable additional build backends')

@depends('--enable-build-backend', '--enable-artifact-builds')
def build_backend(backends, artifact_builds):
    if artifact_builds:
        all_backends = ['FasterMake+RecursiveMake']
        all_backends = ['RecursiveMake', 'FasterMake']
    set_config('BUILD_BACKENDS', unique_list(all_backends))

# Fallthrough to autoconf-based configure