Bug 461307 - Crash [@ QuoteString] with for(/x/[''] in []) (r=mrbkap).
[mozilla-central.git] / toolkit / toolkit-tiers.mk
blobb67db2f3a0b258235ffc064333dacb36f1f2277b
1 # ***** BEGIN LICENSE BLOCK *****
2 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 # The contents of this file are subject to the Mozilla Public License Version
5 # 1.1 (the "License"); you may not use this file except in compliance with
6 # the License. You may obtain a copy of the License at
7 # http://www.mozilla.org/MPL/
9 # Software distributed under the License is distributed on an "AS IS" basis,
10 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 # for the specific language governing rights and limitations under the
12 # License.
14 # The Original Code is the Mozilla build system.
16 # The Initial Developer of the Original Code is
17 # the Mozilla Foundation <http://www.mozilla.org/>.
18 # Portions created by the Initial Developer are Copyright (C) 2006
19 # the Initial Developer. All Rights Reserved.
21 # Contributor(s):
22 # Benjamin Smedberg <benjamin@smedbergs.us> (Initial Code)
24 # Alternatively, the contents of this file may be used under the terms of
25 # either the GNU General Public License Version 2 or later (the "GPL"), or
26 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 # in which case the provisions of the GPL or the LGPL are applicable instead
28 # of those above. If you wish to allow use of your version of this file only
29 # under the terms of either the GPL or the LGPL, and not to allow others to
30 # use your version of this file under the terms of the MPL, indicate your
31 # decision by deleting the provisions above and replace them with the notice
32 # and other provisions required by the GPL or the LGPL. If you do not delete
33 # the provisions above, a recipient may use your version of this file under
34 # the terms of any one of the MPL, the GPL or the LGPL.
36 # ***** END LICENSE BLOCK *****
38 ifdef LIBXUL_SDK
39 $(error toolkit-tiers.mk is not compatible with --enable-libxul-sdk=)
40 endif
42 include $(topsrcdir)/config/nspr/build.mk
43 include $(topsrcdir)/js/src/build.mk
44 include $(topsrcdir)/xpcom/build.mk
45 include $(topsrcdir)/netwerk/build.mk
47 TIERS += \
48 external \
49 gecko \
50 toolkit \
51 $(NULL)
54 # tier "external" - 3rd party individual libraries
57 ifndef MOZ_NATIVE_JPEG
58 tier_external_dirs += jpeg
59 endif
61 # Installer needs standalone libjar, hence standalone zlib
62 ifdef MOZ_INSTALLER
63 tier_external_dirs += modules/zlib/standalone
64 endif
66 ifdef MOZ_UPDATER
67 ifndef MOZ_NATIVE_BZ2
68 tier_external_dirs += modules/libbz2
69 endif
70 tier_external_dirs += modules/libmar
71 endif
73 ifndef MOZ_NATIVE_LCMS
74 tier_external_dirs += modules/lcms
75 endif
78 # tier "gecko" - core components
81 tier_gecko_dirs += \
82 js/src/xpconnect \
83 intl/chardet \
84 $(NULL)
86 ifdef MOZ_ENABLE_GTK2
87 ifdef MOZ_X11
88 tier_gecko_dirs += widget/src/gtkxtbin
89 endif
90 endif
92 ifdef MOZ_IPCD
93 tier_gecko_dirs += ipc/ipcd
94 endif
96 tier_gecko_dirs += \
97 modules/libutil \
98 modules/libjar \
99 db \
100 $(NULL)
102 ifdef MOZ_PERMISSIONS
103 tier_gecko_dirs += \
104 extensions/cookie \
105 extensions/permissions \
106 $(NULL)
107 endif
109 ifdef MOZ_STORAGE
110 tier_gecko_dirs += storage
111 endif
113 ifdef MOZ_RDF
114 tier_gecko_dirs += rdf
115 endif
117 ifdef MOZ_JSDEBUGGER
118 tier_gecko_dirs += js/jsd
119 endif
121 ifdef MOZ_OGG
122 tier_gecko_dirs += \
123 media/libfishsound \
124 media/libogg \
125 media/liboggplay \
126 media/liboggz \
127 media/libsydneyaudio \
128 media/libtheora \
129 media/libvorbis \
130 $(NULL)
131 endif
133 tier_gecko_dirs += \
134 uriloader \
135 modules/libimg \
136 caps \
137 parser/expat \
138 parser/xml \
139 parser/htmlparser \
140 gfx \
141 modules/libpr0n \
142 sun-java \
143 modules/plugin \
144 dom \
145 view \
146 widget \
147 content \
148 editor \
149 layout \
150 docshell \
151 webshell \
152 embedding \
153 xpfe/appshell \
154 $(NULL)
156 # Java Embedding Plugin
157 ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
158 tier_gecko_dirs += plugin/oji/JEP
159 endif
161 ifdef MOZ_XMLEXTRAS
162 tier_gecko_dirs += extensions/xmlextras
163 endif
165 ifdef MOZ_WEBSERVICES
166 tier_gecko_dirs += extensions/webservices
167 endif
169 ifdef MOZ_UNIVERSALCHARDET
170 tier_gecko_dirs += extensions/universalchardet
171 endif
173 ifdef MOZ_OJI
174 tier_gecko_dirs += \
175 js/src/liveconnect \
176 modules/oji \
177 $(NULL)
178 endif
180 ifdef ACCESSIBILITY
181 tier_gecko_dirs += accessible
182 endif
185 # tier "toolkit" - xpfe & toolkit
187 # The division of "gecko" and "toolkit" is somewhat arbitrary, and related
188 # to history where "gecko" wasn't forked between seamonkey/firefox but
189 # "toolkit" was.
192 tier_toolkit_dirs += chrome profile
194 # This must preceed xpfe
195 ifdef MOZ_JPROF
196 tier_toolkit_dirs += tools/jprof
197 endif
199 ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
200 tier_toolkit_dirs += xpfe/bootstrap/appleevents
201 endif
203 tier_toolkit_dirs += \
204 xpfe \
205 toolkit/components \
206 $(NULL)
208 ifdef MOZ_ENABLE_XREMOTE
209 tier_toolkit_dirs += widget/src/xremoteclient
210 endif
212 ifdef MOZ_SPELLCHECK
213 tier_toolkit_dirs += extensions/spellcheck
214 endif
216 tier_toolkit_dirs += toolkit
218 ifdef MOZ_XPINSTALL
219 tier_toolkit_dirs += xpinstall
220 endif
222 ifdef MOZ_PSM
223 tier_toolkit_dirs += security/manager
224 else
225 tier_toolkit_dirs += security/manager/boot/public security/manager/ssl/public
226 endif
228 ifdef MOZ_PREF_EXTENSIONS
229 tier_toolkit_dirs += extensions/pref
230 endif
232 # JavaXPCOM JNI code is compiled into libXUL
233 ifdef MOZ_JAVAXPCOM
234 tier_toolkit_dirs += extensions/java/xpcom/src
235 endif
237 ifndef BUILD_STATIC_LIBS
238 ifneq (,$(MOZ_ENABLE_GTK2))
239 tier_toolkit_dirs += embedding/browser/gtk
240 endif
241 endif
243 ifndef BUILD_STATIC_LIBS
244 tier_toolkit_dirs += toolkit/library
245 endif
247 ifdef MOZ_ENABLE_LIBXUL
248 tier_toolkit_dirs += xpcom/stub
249 endif
251 ifdef NS_TRACE_MALLOC
252 tier_toolkit_dirs += tools/trace-malloc
253 endif
255 ifdef MOZ_ENABLE_GNOME_COMPONENT
256 tier_toolkit_dirs += toolkit/system/gnome
257 endif
259 ifdef MOZ_ENABLE_DBUS
260 tier_toolkit_dirs += toolkit/system/dbus
261 endif
263 ifdef MOZ_LEAKY
264 tier_toolkit_dirs += tools/leaky
265 endif
267 ifdef MOZ_MAPINFO
268 tier_toolkit_dirs += tools/codesighs
269 endif
271 ifdef ENABLE_TESTS
272 tier_toolkit_dirs += testing/mochitest
273 endif