moz.build
author Mike Hommey <mh+mozilla@glandium.org>
Thu, 20 Jul 2017 14:06:23 +0900
changeset 612007 499490d18b16ae716794ae027179cce6cb20147c
parent 592044 cd6899d44b57e758140f105f171bdd50b9299aca
child 615392 469fd4e4914345854396c186079bfa57c7d65afb
child 644477 81a7f7afd9b9443be3de299c5d57c13d7c076505
child 649091 6f44d7c35ae80e7af1f4c577d28daf2b0cfda9d2
child 649311 65558d987c7ea5b6f35cb09c1f444c7d4353935e
permissions -rw-r--r--
Bug 1382525 - Move LLVM_CONFIG out of mozconfig.common. r?chmanchester LLVM_CONFIG, per the contents of toolkit/moz.configure, is tied to --enable-stylo, but it currently is set on all types of builds. It currently happens to work, but it's actually not meant to, and sure enough, the fix for bug 1374727 exacerbates that. So we create a new mozconfig.stylo file that enables stylo and sets LLVM_CONFIG, such that only build types that do enable stylo have LLVM_CONFIG set.

# -*- 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('**/l10n.toml'):
    BUG_COMPONENT = ('Core', 'Localization')
    FINAL = True

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',
    'third_party/python',
]

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',
        'testing/mochitest/tests/python/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')