toolkit/toolkit.mozbuild
author Mike Hommey <mh+mozilla@glandium.org>
Wed, 08 Nov 2017 09:19:09 +0900
changeset 392143 74a6998f7206ed69b56b290a5eed70f187eb50ac
parent 380337 f725597fa0b41856bd0d46b7bb2c4feaaca101c7
child 396091 228743018ded362f84bd71fa97f688068422abab
permissions -rw-r--r--
Bug 1417309 - Move some definitions from top-level moz.build to application-specific moz.build files. r=nalexander When building with a --enable-project that is neither js nor a toolkit-based one (like browser or mobile/android), we don't want to be building things that are specific to gecko and/or spidermonkey. At the same time, this lifts the exception that js standalone doesn't have an app.mozbuild included, and makes the moz.build parsers that don't set a MOZ_BUILD_APP get the same information as they were through toolkit.mozbuild. We still keep mfbt, build and a few other DIRS set from the top-level, because at the moment, there aren't really any --enable-project that would benefit from those not being recursed.

# -*- 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('/js/app.mozbuild')

PYTHON_UNITTEST_MANIFESTS += [
    '/layout/tools/reftest/selftest/python.ini',
    '/testing/marionette/harness/marionette_harness/tests/harness_unit/python.ini',
    '/testing/mochitest/tests/python/python.ini',
    '/testing/talos/talos/unittests/python.ini'
]

CONFIGURE_SUBST_FILES += [
    '/tools/update-packaging/Makefile',
]

DIRS += [
    '/tools',
    '/xpcom/xpidl',
]

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

if CONFIG['ENABLE_TESTS']:
    DIRS += [
        '/toolkit/library/gtest/rust',
    ]

DIRS += [
    '/toolkit/library/rust',
]

if CONFIG['MOZ_SANDBOX']:
    DIRS += ['/security/sandbox']

DIRS += [
    # Depends on NSS and NSPR, and must be built after sandbox or else B2G emulator
    # builds fail.
    '/security/certverifier',
    # Depends on certverifier
    '/security/apps',
]

# the signing related bits of libmar depend on nss
if CONFIG['MOZ_UPDATER']:
    DIRS += ['/modules/libmar']

DIRS += [
    '/config/external/freetype2',
    '/xpcom',
    '/modules/libpref',
    '/intl',
    '/netwerk',
]

if CONFIG['MOZ_AUTH_EXTENSION']:
    DIRS += ['/extensions/auth']

if CONFIG['MOZ_UPDATER']:
    DIRS += ['/other-licenses/bsdiff']

# Gecko/Core components.

DIRS += [
    '/ipc',
    '/js/ipc',
    '/hal',
    '/js/xpconnect',
    '/intl/chardet',
    '/modules/libjar',
    '/storage',
]

if CONFIG['COMPILE_ENVIRONMENT']:
    DIRS += [
        '/media/libyuv',
    ]

if CONFIG['MOZ_PERMISSIONS']:
    DIRS += [
        '/extensions/cookie',
        '/extensions/permissions',
    ]

DIRS += [
    '/rdf',
]

if CONFIG['MOZ_WEBRTC'] and CONFIG['COMPILE_ENVIRONMENT']:
    DIRS += [
        '/media/webrtc',
        '/media/mtransport',
    ]

if CONFIG['ENABLE_TESTS']:
    DIRS += ['/testing/specialpowers']

DIRS += [
    '/testing/gtest',
    '/uriloader',
    '/caps',
    '/parser',
    '/gfx',
    '/image',
    '/dom',
    '/view',
    '/widget',
    '/editor',
    '/layout',
    '/docshell',
    '/xpfe/appshell'
]

if CONFIG['MOZ_UNIVERSALCHARDET']:
    DIRS += ['/extensions/universalchardet']

if CONFIG['ACCESSIBILITY']:
    DIRS += ['/accessible']
else:
    DIRS += ['/accessible/ipc']

# toolkit

# This must precede xpfe.
if CONFIG['MOZ_JPROF']:
    DIRS += ['/tools/jprof']

DIRS += [
    '/tools/code-coverage',
    '/tools/power',
    '/tools/profiler',
    '/xpfe/components',
]

if CONFIG['MOZ_ENABLE_XREMOTE']:
    DIRS += ['/widget/xremoteclient']

if CONFIG['MOZ_SPELLCHECK']:
    DIRS += ['/extensions/spellcheck']

DIRS += [
    '/security/manager',
    '/toolkit',
]

if CONFIG['MOZ_PREF_EXTENSIONS']:
    DIRS += ['/extensions/pref']

DIRS += [
    '/devtools',
    '/toolkit/library',
    '/toolkit/library/StaticXULComponentsEnd',
    '/services',
    '/startupcache',
    '/js/ductwork/debugger',
    '/other-licenses/snappy',
]

if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
    DIRS += ['/toolkit/system/gnome']

if CONFIG['ENABLE_MARIONETTE']:
    DIRS += [
        '/testing/firefox-ui',
        '/testing/marionette',
    ]

if CONFIG['ENABLE_GECKODRIVER']:
    DIRS += ['/testing/geckodriver']

DIRS += [
    '/tools/quitter',
    '/media/gmp-clearkey/0.1',
]

if CONFIG['ENABLE_TESTS']:
    DIRS += [
        '/testing/mochitest',
        '/testing/xpcshell',
        '/testing/tools/minidumpwriter',
        '/testing/tools/screenshot',
        '/testing/profiles',
        '/testing/modules',
        '/testing/runtimes',
        '/testing/web-platform',
    ]

    # The file id utility requires breakpad libraries.
    if CONFIG['MOZ_CRASHREPORTER']:
        DIRS += ['/testing/tools/fileid']

    if CONFIG['MOZ_MEMORY']:
        DIRS += ['/memory/gtest']

    if CONFIG['MOZ_WEBRTC'] and not CONFIG['MOZ_TASK_TRACER']:
        DIRS += [
            '/media/mtransport/test',
        ]

if CONFIG['FUZZING']:
    DIRS += ['/tools/fuzzing']