moz.configure
author Chris Manchester <cmanchester@mozilla.com>
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 http://mozilla.org/MPL/2.0/.

include('build/moz.configure/init.configure')

# 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.')

@depends('--enable-artifact-builds')
def artifact_builds(value):
    if value:
        imply_option('--disable-compile-environment')
        set_config('MOZ_ARTIFACT_BUILDS', '1')
    return bool(value)


option('--disable-compile-environment',
       help='Disable compiler/library checks')

@depends('--disable-compile-environment')
def compile_environment(value):
    if value:
        set_config('COMPILE_ENVIRONMENT', '1')
    return bool(value)


@depends('--help')
@advanced
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']
    else:
        all_backends = ['RecursiveMake', 'FasterMake']
    all_backends.extend(backends)
    set_config('BUILD_BACKENDS', unique_list(all_backends))


# Fallthrough to autoconf-based configure
include('build/moz.configure/old.configure')