Bug 767636 - Expose plugin fallback type to extensions. r=josh
[gecko.git] / toolkit / toolkit-tiers.mk
blob41ade5a779b1937cffbd5eba2d6be7fdf9bccc58
1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 ifdef LIBXUL_SDK
6 $(error toolkit-tiers.mk is not compatible with --enable-libxul-sdk=)
7 endif
9 include $(topsrcdir)/config/nspr/build.mk
10 include $(topsrcdir)/config/js/build.mk
12 TIERS += platform
14 ifdef NS_TRACE_MALLOC
15 tier_platform_dirs = tools/trace-malloc/lib
16 endif
18 ifdef MOZ_TREE_FREETYPE
19 tier_platform_staticdirs += modules/freetype2
20 endif
22 tier_platform_dirs += xpcom
24 tier_platform_dirs += \
25 modules/libpref \
26 intl \
27 netwerk \
28 $(NULL)
30 ifdef MOZ_AUTH_EXTENSION
31 tier_platform_dirs += extensions/auth
32 endif
35 # "external" - 3rd party individual libraries
38 ifndef MOZ_NATIVE_JPEG
39 tier_platform_dirs += media/libjpeg
40 endif
42 ifdef MOZ_UPDATER
43 ifndef MOZ_NATIVE_BZ2
44 tier_platform_dirs += modules/libbz2
45 endif
46 tier_platform_dirs += other-licenses/bsdiff
47 endif
49 tier_platform_dirs += gfx/qcms
52 # "gecko" - core components
55 tier_platform_dirs += ipc js/ipc
57 tier_platform_dirs += \
58 hal \
59 js/xpconnect \
60 intl/chardet \
61 $(NULL)
63 ifdef MOZ_ENABLE_GTK2
64 ifdef MOZ_X11
65 tier_platform_dirs += widget/gtkxtbin
66 endif
67 endif
69 tier_platform_dirs += \
70 modules/libjar \
71 storage \
72 $(NULL)
74 ifdef MOZ_PERMISSIONS
75 tier_platform_dirs += \
76 extensions/cookie \
77 extensions/permissions \
78 $(NULL)
79 endif
81 tier_platform_dirs += rdf
83 ifdef MOZ_JSDEBUGGER
84 tier_platform_dirs += js/jsd
85 endif
87 ifdef MOZ_VORBIS
88 tier_platform_dirs += \
89 media/libvorbis \
90 $(NULL)
91 endif
93 ifdef MOZ_TREMOR
94 tier_platform_dirs += \
95 media/libtremor \
96 $(NULL)
97 endif
99 ifdef MOZ_OPUS
100 tier_platform_dirs += \
101 media/libopus \
102 $(NULL)
103 endif
105 ifdef MOZ_WEBM
106 tier_platform_dirs += media/libnestegg
107 endif
109 ifdef MOZ_VP8
110 ifndef MOZ_NATIVE_LIBVPX
111 tier_platform_dirs += media/libvpx
112 endif
113 endif
115 ifdef MOZ_OGG
116 tier_platform_dirs += \
117 media/libogg \
118 media/libtheora \
119 $(NULL)
120 endif
122 ifdef MOZ_SYDNEYAUDIO
123 tier_platform_dirs += \
124 media/libsydneyaudio \
125 $(NULL)
126 endif
128 ifdef MOZ_PSM
129 tier_platform_dirs += \
130 security/build \
131 $(NULL)
132 endif
134 ifdef MOZ_WEBRTC
135 tier_platform_dirs += \
136 media/webrtc \
137 $(NULL)
138 endif
140 ifdef MOZ_SPEEX_RESAMPLER
141 tier_platform_dirs += \
142 media/libspeex_resampler \
143 $(NULL)
144 endif
146 ifdef MOZ_CUBEB
147 tier_platform_dirs += \
148 media/libcubeb \
149 $(NULL)
150 endif
152 ifdef MOZ_OMX_PLUGIN
153 tier_platform_dirs += \
154 media/omx-plugin/lib/ics/libutils \
155 media/omx-plugin/lib/ics/libstagefright \
156 media/omx-plugin/lib/ics/libstagefright_omx \
157 media/omx-plugin \
158 $(NULL)
159 endif
161 ifndef MOZ_NATIVE_PNG
162 tier_platform_dirs += media/libpng
163 endif
165 tier_platform_dirs += \
166 uriloader \
167 caps \
168 parser \
169 gfx \
170 image \
171 dom \
172 view \
173 widget \
174 content \
175 editor \
176 layout \
177 docshell \
178 embedding \
179 xpfe/appshell \
180 $(NULL)
182 # This needs to be built after the gfx/ directory
183 # to ensure all dependencies for skia (e.g. mozalloc, xpcom)
184 # have been built
185 ifeq (android,$(MOZ_WIDGET_TOOLKIT))
186 tier_platform_dirs += other-licenses/skia-npapi
187 endif
189 ifdef MOZ_UNIVERSALCHARDET
190 tier_platform_dirs += extensions/universalchardet
191 endif
193 ifdef ACCESSIBILITY
194 tier_platform_dirs += accessible
195 endif
198 # "toolkit" - xpfe & toolkit
201 tier_platform_dirs += profile
203 # This must preceed xpfe
204 ifdef MOZ_JPROF
205 tier_platform_dirs += tools/jprof
206 endif
208 tier_platform_dirs += tools/profiler
210 tier_platform_dirs += xpfe/components
212 ifdef MOZ_ENABLE_XREMOTE
213 tier_platform_dirs += widget/xremoteclient
214 endif
216 ifdef MOZ_SPELLCHECK
217 tier_platform_dirs += extensions/spellcheck
218 endif
220 ifdef MOZ_PSM
221 tier_platform_dirs += security/manager
222 else
223 tier_platform_dirs += security/manager/boot/public security/manager/ssl/public
224 endif
226 ifdef MOZ_UPDATER
227 tier_platform_dirs += modules/libmar
228 endif
230 tier_platform_dirs += toolkit
232 ifdef MOZ_PREF_EXTENSIONS
233 tier_platform_dirs += extensions/pref
234 endif
236 tier_platform_dirs += services/crypto/component
238 tier_platform_dirs += startupcache
240 tier_platform_dirs += js/ductwork/debugger
242 tier_platform_dirs += other-licenses/snappy
244 ifdef APP_LIBXUL_STATICDIRS
245 # Applications can cheat and ask for code to be
246 # built before libxul so libxul can be linked against it.
247 tier_platform_staticdirs += $(APP_LIBXUL_STATICDIRS)
248 endif
249 ifdef APP_LIBXUL_DIRS
250 # Applications can cheat and ask for code to be
251 # built before libxul so it can be linked into libxul.
252 tier_platform_dirs += $(APP_LIBXUL_DIRS)
253 endif
255 tier_platform_dirs += toolkit/library
257 tier_platform_dirs += xpcom/stub
259 ifdef NS_TRACE_MALLOC
260 tier_platform_dirs += tools/trace-malloc
261 endif
263 ifdef MOZ_ENABLE_GNOME_COMPONENT
264 tier_platform_dirs += toolkit/system/gnome
265 endif
267 ifndef MOZ_ENABLE_LIBCONIC
268 # if libconic is present, it will do its own network monitoring
269 ifdef MOZ_ENABLE_DBUS
270 tier_platform_dirs += toolkit/system/dbus
271 endif
272 endif
274 ifdef MOZ_MAPINFO
275 tier_platform_dirs += tools/codesighs
276 endif
278 ifdef ENABLE_MARIONETTE
279 tier_platform_dirs += testing/marionette
280 endif
282 ifdef ENABLE_TESTS
283 tier_platform_dirs += testing/mochitest
284 tier_platform_dirs += testing/xpcshell
285 tier_platform_dirs += testing/tools/screenshot
286 tier_platform_dirs += testing/peptest
287 tier_platform_dirs += testing/mozbase
288 endif