gecko-dev/toolkit/toolkit.mozbuild

243 lines
6.6 KiB
Python

# 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')
if not CONFIG['MOZ_NATIVE_SQLITE']:
add_tier_dir('nss', 'db/sqlite3/src')
if not CONFIG['MOZ_NATIVE_NSS']:
add_tier_dir('nss', 'security/build')
include('/config/js/js.mozbuild')
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')
# External/3rd party libraries.
if not CONFIG['MOZ_NATIVE_JPEG']:
add_tier_dir('platform', 'media/libjpeg')
if CONFIG['MOZ_UPDATER']:
if not CONFIG['MOZ_NATIVE_BZ2']:
add_tier_dir('platform', 'modules/libbz2')
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_VORBIS']:
add_tier_dir('platform', 'media/libvorbis')
if CONFIG['MOZ_TREMOR']:
add_tier_dir('platform', 'media/libtremor')
if CONFIG['MOZ_OPUS']:
add_tier_dir('platform', 'media/libopus')
if CONFIG['MOZ_WEBM']:
add_tier_dir('platform', 'media/libnestegg')
if CONFIG['MOZ_VP8'] and not CONFIG['MOZ_NATIVE_LIBVPX']:
add_tier_dir('platform', 'media/libvpx')
if CONFIG['MOZ_OGG']:
add_tier_dir('platform', ['media/libogg', 'media/libtheora'])
if CONFIG['MOZ_WEBRTC']:
add_tier_dir('platform', [
'media/webrtc',
'media/mtransport/third_party',
'media/mtransport/build',
'media/mtransport/standalone',
])
if CONFIG['MOZ_SPEEX_RESAMPLER']:
add_tier_dir('platform', 'media/libspeex_resampler')
if CONFIG['MOZ_SOUNDTOUCH']:
add_tier_dir('platform', 'media/libsoundtouch')
if CONFIG['MOZ_CUBEB']:
add_tier_dir('platform', 'media/libcubeb')
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',
'media/omx-plugin/sony',
'media/omx-plugin/jb-htc',
])
if not CONFIG['MOZ_NATIVE_PNG']:
add_tier_dir('platform', 'media/libpng')
add_tier_dir('platform', 'media/kiss_fft')
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')
if CONFIG['MOZ_UPDATER']:
add_tier_dir('platform', 'modules/libmar')
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 libconic or QtNetwork is present, it will do its own network monitoring
if not CONFIG['MOZ_ENABLE_LIBCONIC'] and 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['MOZ_MAPINFO']:
add_tier_dir('platform', 'tools/codesighs')
if CONFIG['ENABLE_MARIONETTE'] or CONFIG['MOZ_WIDGET_TOOLKIT'] not in ('gonk', 'android'):
add_tier_dir('platform', 'testing/marionette')
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',
])