toolkit/toolkit.mozbuild
author Ed Morley <emorley@mozilla.com>
Tue, 24 Sep 2013 16:49:11 +0100
changeset 162272 b287f2bd6c7ec8cfc1a6b2f6f977cb7fe1b5284d
parent 160121 182cb77cc3e951b0b461800bac10813a0556a4a8
child 161069 77e95b4af9f04861380e56f3213d2cd2539baca4
permissions -rw-r--r--
Backed out changeset 505fe9841b16 (bug 915940) on suspicion of Windows PGO-only compilation failures

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

if CONFIG['LIBXUL_SDK']:
    error('toolkit.mozbuild is not compatible with --enable-libxul-sdk=')

if not CONFIG['MOZ_NATIVE_NSPR']:
    add_tier_dir('nspr', 'config/nspr')

add_tier_dir('precompile', 'config/makefiles/precompile')
add_tier_dir('external', 'config/external')

if not CONFIG['MOZ_NATIVE_NSS']:
    add_tier_dir('nss', 'security/build')

include('/config/js/js.mozbuild')

if CONFIG['MOZ_CONTENT_SANDBOX']:
    add_tier_dir('sandbox', 'security/sandbox')

# the signing related bits of libmar depend on nss
if CONFIG['MOZ_UPDATER']:
    add_tier_dir('platform', 'modules/libmar')

if CONFIG['NS_TRACE_MALLOC']:
    add_tier_dir('platform', 'tools/trace-malloc/lib')

if CONFIG['MOZ_DMD']:
    add_tier_dir('platform', 'memory/replace/dmd')

if CONFIG['MOZ_TREE_FREETYPE']:
    add_tier_dir('platform', 'modules/freetype2', static=True)

add_tier_dir('platform', 'xpcom')

add_tier_dir('platform', [
    'modules/libpref',
    'intl',
    'netwerk',
])

if CONFIG['MOZ_AUTH_EXTENSION']:
    add_tier_dir('platform', 'extensions/auth')

if CONFIG['MOZ_UPDATER']:
    add_tier_dir('platform', 'other-licenses/bsdiff')

# Gecko/Core components.

add_tier_dir('platform', ['ipc', 'js/ipc'])

add_tier_dir('platform', ['hal', 'js/xpconnect', 'intl/chardet'])

add_tier_dir('platform', ['modules/libjar', 'storage'])

if CONFIG['MOZ_PERMISSIONS']:
    add_tier_dir('platform', ['extensions/cookie', 'extensions/permissions'])

add_tier_dir('platform', 'rdf')

if CONFIG['MOZ_JSDEBUGGER']:
    add_tier_dir('platform', 'js/jsd')

if CONFIG['MOZ_WEBRTC']:
    add_tier_dir('platform', [
        'media/webrtc',
        'media/mtransport/third_party',
        'media/mtransport/build',
        'media/mtransport/standalone',
    ])

if CONFIG['MOZ_OMX_PLUGIN']:
    add_tier_dir('platform', [
        'media/omx-plugin/lib/ics/libutils',
        'media/omx-plugin/lib/ics/libstagefright',
        'media/omx-plugin/lib/gb/libutils',
        'media/omx-plugin/lib/gb/libstagefright',
        'media/omx-plugin/lib/gb/libstagefright_color_conversion',
        'media/omx-plugin/lib/gb235/libstagefright',
        'media/omx-plugin/lib/froyo/libstagefright',
        'media/omx-plugin',
        'media/omx-plugin/gb',
        'media/omx-plugin/gb235',
        'media/omx-plugin/froyo',
        'media/omx-plugin/lib/hc/libstagefright',
        'media/omx-plugin/hc',
    ])

if CONFIG['ENABLE_TESTS']:
    add_tier_dir('platform', 'testing/specialpowers')

if CONFIG['ENABLE_TESTS']:
    add_tier_dir('platform', 'testing/gtest')

add_tier_dir('platform', [
    'uriloader',
    'caps',
    'parser',
    'gfx',
    'image',
    'dom',
    'view',
    'widget',
    'content',
    'editor',
    'layout',
    'docshell',
    'embedding',
    'xpfe/appshell'
])

# This needs to be built after the gfx/ directory
# to ensure all dependencies for skia (e.g. mozalloc, xpcom)
# have been built
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
    add_tier_dir('platform', 'other-licenses/skia-npapi')

if CONFIG['MOZ_UNIVERSALCHARDET']:
    add_tier_dir('platform', 'extensions/universalchardet')

if CONFIG['ACCESSIBILITY']:
    add_tier_dir('platform', 'accessible')

# toolkit

add_tier_dir('platform', 'profile')

# This must precede xpfe.
if CONFIG['MOZ_JPROF']:
    add_tier_dir('platform', 'tools/jprof')

add_tier_dir('platform', 'tools/profiler')

add_tier_dir('platform', 'xpfe/components')

if CONFIG['MOZ_ENABLE_XREMOTE']:
    add_tier_dir('platform', 'widget/xremoteclient')

if CONFIG['MOZ_SPELLCHECK']:
    add_tier_dir('platform', 'extensions/spellcheck')

add_tier_dir('platform', 'security/manager')

add_tier_dir('platform', 'toolkit')

if CONFIG['MOZ_PREF_EXTENSIONS']:
    add_tier_dir('platform', 'extensions/pref')

add_tier_dir('platform', 'services')
add_tier_dir('platform', 'startupcache')
add_tier_dir('platform', 'js/ductwork/debugger')
add_tier_dir('platform', 'other-licenses/snappy')

if CONFIG['MOZ_GIO_COMPONENT']:
    add_tier_dir('platform', 'extensions/gio')

# Applications can cheat and ask for code to be
# built before libxul so it can be linked into libxul.
add_tier_dir('platform', app_libxul_dirs)
add_tier_dir('platform', app_libxul_static_dirs, static=True)

add_tier_dir('platform', 'toolkit/library')

if CONFIG['MOZ_REPLACE_MALLOC']:
    add_tier_dir('platform', 'memory/replace')

if CONFIG['NS_TRACE_MALLOC']:
    add_tier_dir('platform', 'tools/trace-malloc')

if CONFIG['MOZ_ENABLE_GNOME_COMPONENT']:
    add_tier_dir('platform', 'toolkit/system/gnome')

# if QtNetwork is present, it will do its own network monitoring
if not CONFIG['MOZ_ENABLE_QTNETWORK'] and CONFIG['MOZ_ENABLE_DBUS']:
    add_tier_dir('platform', 'toolkit/system/dbus')

add_tier_dir('platform', 'addon-sdk')

if CONFIG['ENABLE_MARIONETTE'] or CONFIG['MOZ_WIDGET_TOOLKIT'] not in ('gonk', 'android'):
    add_tier_dir('platform', 'testing/marionette')

add_tier_dir('platform', 'tools/quitter')

if CONFIG['ENABLE_TESTS']:
    add_tier_dir('platform', [
        'testing/mochitest',
        'testing/xpcshell',
        'testing/tools/screenshot',
        'testing/peptest',
        'testing/profiles',
        'testing/mozbase',
        'testing/modules',
    ])

    if CONFIG['MOZ_WEBRTC'] and CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gonk':
            add_tier_dir('platform', [
                'media/webrtc/signaling/test',
                'media/mtransport/test',
            ])