moz.build
author Matthew Gaudet <mgaudet@mozilla.com>
Wed, 28 Nov 2018 14:03:02 +0000
changeset 448520 f7f8b232d111ba86b0ac3d9c7aa65a7be21f82ea
parent 446994 6904ca9f5d8f4623ab85deb8747337de01b2ddb3
child 452462 3b1c7ad601ba81805e5de271f91c6892e42c2091
permissions -rw-r--r--
Bug 1504005 - Initial Structured Spewer r=jandem This spewer design has two goals: 1. Provide a spew mechanism that has first-class support for slicing and dicing output. This means that filtering by script and channel should be the dominant output mechanism. 2. Provide a simple powerful mechanism for getting information out of the compiler and into tools. I'm inspired by tools like CacheIR analyzer, IR Hydra, and the upcoming tracelogger integration into perf.html. Differential Revision: https://phabricator.services.mozilla.com/D11787

# -*- 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 = ('Firefox Build System', 'General')

with Files('Cargo.*'):
    BUG_COMPONENT = ('Firefox Build System', 'General')

with Files('client.*'):
    BUG_COMPONENT = ('Firefox Build System', 'General')

with Files('CLOBBER'):
    BUG_COMPONENT = ('Firefox Build System', 'General')

with Files('*configure*'):
    BUG_COMPONENT = ('Firefox Build System', 'General')

with Files('mach'):
    BUG_COMPONENT = ('Firefox Build System', 'Mach Core')

with Files('*moz*'):
    BUG_COMPONENT = ('Firefox Build System', 'General')

with Files('GNUmakefile'):
    BUG_COMPONENT = ('Firefox Build System', 'General')

with Files('*gradle*'):
    BUG_COMPONENT = ('Firefox for Android', 'Build Config & IDE Support')
    SCHEDULES.exclusive = ['android']

with Files('*.json'):
    BUG_COMPONENT = ('Firefox Build System', 'General')

with Files('**/l10n.toml'):
    BUG_COMPONENT = ('Core', 'Localization')
    FINAL = True

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

with Files("nsprpub/**"):
    BUG_COMPONENT = ("NSPR", "NSPR")

with Files('**/Makefile.in'):
    BUG_COMPONENT = ('Firefox Build System', 'General')
    FINAL = True

with Files("**/*.js"):
    SCHEDULES.inclusive += ['test-verify', 'test-verify-gpu', 'docs']

with Files("**/*.jsm"):
    SCHEDULES.inclusive += ['docs']

with Files("**/*.rst"):
    SCHEDULES.inclusive += ['docs']

with Files("**/*.md"):
    SCHEDULES.inclusive += ['docs']

with Files("**/*.html"):
    SCHEDULES.inclusive += ['test-verify', 'test-verify-gpu']

with Files("**/*.xhtml"):
    SCHEDULES.inclusive += ['test-verify', 'test-verify-gpu']

with Files("**/*.xul"):
    SCHEDULES.inclusive += ['test-verify', 'test-verify-gpu']

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

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

DIRS += [
    'config',
    'python',
    'taskcluster',
    'testing/mozbase',
    'third_party/python',
]

if not CONFIG['JS_STANDALONE'] or not CONFIG['MOZ_BUILD_APP']:
    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',
    ]

DIRS += [
    'mfbt',
]

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

CONFIGURE_SUBST_FILES += ['.cargo/config']

include('build/templates.mozbuild')