Bug 994903 - Copy mRecycleCallback on top of Release() r=jrmuizel
[gecko.git] / toolkit / toolkit.mozbuild
blob0d7f99850ff8301fd296d084ef8dcbfc0c6223a6
1 # vim: set filetype=python:
2 # This Source Code Form is subject to the terms of the Mozilla Public
3 # License, v. 2.0. If a copy of the MPL was not distributed with this
4 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 if CONFIG['LIBXUL_SDK']:
7     error('toolkit.mozbuild is not compatible with --enable-libxul-sdk=')
9 if CONFIG['MOZ_CONTENT_SANDBOX']:
10     add_tier_dir('sandbox', 'security/sandbox')
12 # Depends on NSS and NSPR, and must be built after sandbox or else B2G emulator
13 # builds fail.
14 add_tier_dir('platform', 'security/certverifier')
16 # Depends on certverifier
17 add_tier_dir('platform', 'security/apps')
19 # the signing related bits of libmar depend on nss
20 if CONFIG['MOZ_UPDATER']:
21     add_tier_dir('platform', 'modules/libmar')
23 if CONFIG['NS_TRACE_MALLOC']:
24     add_tier_dir('platform', 'tools/trace-malloc/lib')
26 if CONFIG['MOZ_DMD']:
27     add_tier_dir('platform', 'memory/replace/dmd')
29 if CONFIG['MOZ_TREE_FREETYPE']:
30     add_tier_dir('platform', 'modules/freetype2', static=True)
32 add_tier_dir('platform', 'xpcom')
34 add_tier_dir('platform', [
35     'modules/libpref',
36     'intl',
37     'netwerk',
40 if CONFIG['MOZ_AUTH_EXTENSION']:
41     add_tier_dir('platform', 'extensions/auth')
43 if CONFIG['MOZ_UPDATER']:
44     add_tier_dir('platform', 'other-licenses/bsdiff')
46 # Gecko/Core components.
48 add_tier_dir('platform', ['ipc', 'js/ipc'])
50 add_tier_dir('platform', ['hal', 'js/xpconnect', 'intl/chardet'])
52 add_tier_dir('platform', ['modules/libjar', 'storage'])
54 if CONFIG['MOZ_PERMISSIONS']:
55     add_tier_dir('platform', ['extensions/cookie', 'extensions/permissions'])
57 add_tier_dir('platform', 'rdf')
59 if CONFIG['MOZ_JSDEBUGGER']:
60     add_tier_dir('platform', 'js/jsd')
62 if CONFIG['MOZ_WEBRTC']:
63     add_tier_dir('platform', [
64         'media/webrtc',
65         'media/mtransport/third_party',
66         'media/mtransport/build',
67         'media/mtransport/standalone',
68         'media/libyuv',
69     ])
71 if CONFIG['MOZ_OMX_PLUGIN']:
72     add_tier_dir('platform', [
73         'media/omx-plugin/lib/ics/libutils',
74         'media/omx-plugin/lib/ics/libstagefright',
75         'media/omx-plugin/lib/ics/libvideoeditorplayer',
76         'media/omx-plugin/lib/gb/libutils',
77         'media/omx-plugin/lib/gb/libstagefright',
78         'media/omx-plugin/lib/gb/libstagefright_color_conversion',
79         'media/omx-plugin/lib/gb235/libstagefright',
80         'media/omx-plugin/lib/froyo/libstagefright',
81         'media/omx-plugin',
82         'media/omx-plugin/gb',
83         'media/omx-plugin/gb235',
84         'media/omx-plugin/froyo',
85         'media/omx-plugin/lib/hc/libstagefright',
86         'media/omx-plugin/hc',
87         'media/omx-plugin/kk',
88     ])
90 if CONFIG['ENABLE_TESTS']:
91     add_tier_dir('platform', 'testing/specialpowers')
93 if CONFIG['ENABLE_TESTS']:
94     add_tier_dir('platform', 'testing/gtest')
96 add_tier_dir('platform', [
97     'uriloader',
98     'caps',
99     'parser',
100     'gfx',
101     'image',
102     'dom',
103     'view',
104     'widget',
105     'content',
106     'editor',
107     'layout',
108     'docshell',
109     'embedding',
110     'xpfe/appshell'
113 # This needs to be built after the gfx/ directory
114 # to ensure all dependencies for skia (e.g. mozalloc, xpcom)
115 # have been built
116 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
117     add_tier_dir('platform', 'other-licenses/skia-npapi')
119 if CONFIG['MOZ_UNIVERSALCHARDET']:
120     add_tier_dir('platform', 'extensions/universalchardet')
122 if CONFIG['ACCESSIBILITY']:
123     add_tier_dir('platform', 'accessible')
125 # toolkit
127 add_tier_dir('platform', 'profile')
129 # This must precede xpfe.
130 if CONFIG['MOZ_JPROF']:
131     add_tier_dir('platform', 'tools/jprof')
133 add_tier_dir('platform', 'tools/profiler')
135 add_tier_dir('platform', 'xpfe/components')
137 if CONFIG['MOZ_ENABLE_XREMOTE']:
138     add_tier_dir('platform', 'widget/xremoteclient')
140 if CONFIG['MOZ_SPELLCHECK']:
141     add_tier_dir('platform', 'extensions/spellcheck')
143 add_tier_dir('platform', 'security/manager')
145 add_tier_dir('platform', 'toolkit')
147 if CONFIG['MOZ_PREF_EXTENSIONS']:
148     add_tier_dir('platform', 'extensions/pref')
150 add_tier_dir('platform', 'services')
151 add_tier_dir('platform', 'startupcache')
152 add_tier_dir('platform', 'js/ductwork/debugger')
153 add_tier_dir('platform', 'other-licenses/snappy')
155 if CONFIG['MOZ_GIO_COMPONENT']:
156     add_tier_dir('platform', 'extensions/gio')
158 # Applications can cheat and ask for code to be
159 # built before libxul so it can be linked into libxul.
160 add_tier_dir('platform', app_libxul_dirs)
161 add_tier_dir('platform', app_libxul_static_dirs, static=True)
163 add_tier_dir('platform', 'toolkit/library')
165 if CONFIG['MOZ_REPLACE_MALLOC']:
166     add_tier_dir('platform', 'memory/replace')
168 if CONFIG['NS_TRACE_MALLOC']:
169     add_tier_dir('platform', 'tools/trace-malloc')
171 if CONFIG['MOZ_ENABLE_GNOME_COMPONENT']:
172     add_tier_dir('platform', 'toolkit/system/gnome')
174 # if QtNetwork is present, it will do its own network monitoring
175 if not CONFIG['MOZ_ENABLE_QTNETWORK'] and CONFIG['MOZ_ENABLE_DBUS']:
176     add_tier_dir('platform', 'toolkit/system/dbus')
178 add_tier_dir('platform', 'addon-sdk')
180 if CONFIG['ENABLE_MARIONETTE'] or CONFIG['MOZ_WIDGET_TOOLKIT'] not in ('gonk', 'android'):
181     add_tier_dir('platform', 'testing/marionette')
183 add_tier_dir('platform', 'tools/quitter')
185 if CONFIG['ENABLE_TESTS']:
186     add_tier_dir('platform', [
187         'testing/mochitest',
188         'testing/xpcshell',
189         'testing/tools/screenshot',
190         'testing/profiles',
191         'testing/mozbase',
192         'testing/modules',
193     ])
195     if CONFIG['MOZ_WEBRTC'] and CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gonk':
196             add_tier_dir('platform', [
197                 'media/webrtc/signaling/test',
198                 'media/mtransport/test',
199             ])