mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
e24712af1c
A new build tier is introduced: precompile. The intention is to replace the export subtier with something better and nonrecursive. IPDL and WebIDL code generation have been moved into this new tier and are performed concurrently. This appears to reduce build times due to fewer "single threaded" build actions. The subtier tracking UI has been updated to reflect operations that can occur in parallel. As subtiers are started, they turn yellow. They can then complete in any order. Nonrecursive targets have been added to preserve the IPDL and WebIDL build targets such that developers can type |make| from leaf directories like they have always done.
243 lines
6.6 KiB
Python
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',
|
|
])
|