moz.build
author Mike Hommey <mh+mozilla@glandium.org>
Wed, 10 Feb 2016 13:38:31 +0900
changeset 320382 51029f4d82d3dcb3ca3aa8cab60bf1ed29152846
parent 320379 02840dfc6310ad181aa7c3b49ef51c3dd1d71e95
child 320959 547e0c23071ebab8bde38d7ec354dff3a4dacdad
permissions -rw-r--r--
Bug 1247162 - Generate a header defining MOZ_SOURCE_*. r=mshal The behavior is not entirely idempotent (most notably for buildconfig.html), but this can be improved later if necessary. It is idempotent where it matters. This allows to get rid of config/makefiles/rcs.mk and its uses.

# -*- 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/.

with Files('**/Makefile.in'):
    BUG_COMPONENT = ('Core', 'Build Config')
    FINAL = True

FILES_PER_UNIFIED_FILE = 1

CONFIGURE_SUBST_FILES += [
    'config/autoconf.mk',
    'config/emptyvars.mk',
]

if CONFIG['ENABLE_CLANG_PLUGIN']:
    DIRS += ['build/clang-plugin']

DIRS += [
    'config',
    'python',
]

if not CONFIG['JS_STANDALONE']:
    CONFIGURE_SUBST_FILES += [
        'tools/update-packaging/Makefile',
    ]
    CONFIGURE_DEFINE_FILES += [
        'mozilla-config.h',
    ]
    EXPORTS += [
        '!buildid.h',
        '!mozilla-config.h',
        '!source-repo.h',
    ]

    GENERATED_FILES += [
        'buildid.h',
        'source-repo.h',
    ]

    GENERATED_FILES['buildid.h'].script = 'build/variables.py:buildid_header'
    GENERATED_FILES['source-repo.h'].script = 'build/variables.py:source_repo_header'

    DIRS += [
        'build',
        'probes',
    ]

DIRS += [
    'config/external/zlib',
    'memory',
    'mfbt',
    'mozglue',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android' and int(CONFIG['MOZ_ANDROID_MIN_SDK_VERSION']) < 11:
    DIRS += ['other-licenses/android']

if not CONFIG['JS_STANDALONE']:
    DIRS += ['xpcom/xpidl']

if CONFIG['COMPILE_ENVIRONMENT']:
    DIRS += ['config/external/nspr']

    if not CONFIG['JS_STANDALONE']:
        DIRS += [
            'config/external',
            'config/external/nss',
        ]

    if CONFIG['BUILD_CTYPES']:
        DIRS += ['config/external/ffi']
    if CONFIG['USE_ICU']:
        DIRS += ['config/external/icu']
    DIRS += ['js/src']

if not CONFIG['JS_STANDALONE'] and CONFIG['MOZ_BUILD_APP']:
    # Bring in the configuration for the configured application.
    include('/' + CONFIG['MOZ_BUILD_APP'] + '/app.mozbuild')

include('build/templates.mozbuild')