moz.build
author Chris Manchester <cmanchester@mozilla.com>
Fri, 10 Feb 2017 08:34:08 -0800
changeset 352238 994b97c9de3741e5bea37a8baf1573ded2323336
parent 351194 2159959522f4180bdca483162c9134beb108575a
child 362808 34b11112f0e3b342c149295ea8e8eac01cdf646c
permissions -rw-r--r--
Bug 1337986 - Dump symbols during the compile tier. r=ted This commit moves symbol dumping to the compile tier, to be run via "syms" targets. Tracking files are used for the sake of incremental builds, because dump_syms may genearate multiple outputs whose paths are not known ahead of time. Minimal changes to symbolstore.py are made here. More extensive simplifications will be made in a future commit on the basis of symbolstore.py handling one file at a time. MozReview-Commit-ID: 3mOP8A6Y7iM

# -*- Mode: python; 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('AUTHORS'):
    BUG_COMPONENT = ('mozilla.org', 'Licensing')

with Files('LICENSE'):
    BUG_COMPONENT = ('mozilla.org', 'Licensing')

with Files('LEGAL'):
    BUG_COMPONENT = ('mozilla.org', 'Licensing')

with Files('aclocal.m4'):
    BUG_COMPONENT = ('Core', 'Build Config')

with Files('Android.mk'):
    BUG_COMPONENT = ('Firefox for Android', 'Build Config & IDE Support')

with Files('client.*'):
    BUG_COMPONENT = ('Core', 'Build Config')

with Files('CLOBBER'):
    BUG_COMPONENT = ('Core', 'Build Config')

with Files('*configure*'):
    BUG_COMPONENT = ('Core', 'Build Config')

with Files('mach'):
    BUG_COMPONENT = ('Core', 'mach')

with Files('*moz*'):
    BUG_COMPONENT = ('Core', 'Build Config')

with Files('GNUmakefile'):
    BUG_COMPONENT = ('Core', 'Build Config')

with Files('*gradle*'):
    BUG_COMPONENT = ('Firefox for Android', 'Build Config & IDE Support')

with Files('README.txt'):
    BUG_COMPONENT = ('Core', 'General')

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',
    'taskcluster',
    'testing/mozbase',
]

if not CONFIG['JS_STANDALONE']:
    # These python manifests are included here so they get picked up without an objdir
    PYTHON_UNITTEST_MANIFESTS += [
        'testing/marionette/harness/marionette_harness/tests/harness_unit/python.ini',
    ]

    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',
    ]

if CONFIG['COMPILE_ENVIRONMENT']:
    DIRS += ['js/src']

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

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

if CONFIG['USE_ICU']:
    DIRS += ['config/external/icu']

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

    if CONFIG['BUILD_CTYPES']:
        DIRS += ['config/external/ffi']

else:
    TEST_DIRS += ['js/src/tests']

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

CONFIGURE_SUBST_FILES += ['.cargo/config']

include('build/templates.mozbuild')