Bug 524462. Fix startup crash in pref fonts with funky cmaps. r=jdaggett
[mozilla-central.git] / toolkit / toolkit-tiers.mk
blob4f0691f8d96f4542233245f7015ab3d4ffd6f72e
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)/config/js/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 tier_external_dirs += gfx/qcms
76 # tier "gecko" - core components
79 tier_gecko_dirs += \
80 js/src/xpconnect \
81 js/ctypes \
82 intl/chardet \
83 $(NULL)
85 ifdef BUILD_CTYPES
86 ifndef _MSC_VER
87 tier_gecko_staticdirs += \
88 js/ctypes/libffi \
89 $(NULL)
90 endif
91 endif
93 ifdef MOZ_ENABLE_GTK2
94 ifdef MOZ_X11
95 tier_gecko_dirs += widget/src/gtkxtbin
96 endif
97 endif
99 tier_gecko_dirs += \
100 modules/libjar \
101 db \
102 $(NULL)
104 ifdef MOZ_PERMISSIONS
105 tier_gecko_dirs += \
106 extensions/cookie \
107 extensions/permissions \
108 $(NULL)
109 endif
111 ifdef MOZ_STORAGE
112 tier_gecko_dirs += storage
113 endif
115 ifdef MOZ_RDF
116 tier_gecko_dirs += rdf
117 endif
119 ifdef MOZ_JSDEBUGGER
120 tier_gecko_dirs += js/jsd
121 endif
123 ifdef MOZ_OGG
124 tier_gecko_dirs += \
125 media/libfishsound \
126 media/libogg \
127 media/liboggplay \
128 media/liboggz \
129 media/libtheora \
130 media/libvorbis \
131 $(NULL)
132 endif
134 ifdef MOZ_SYDNEYAUDIO
135 tier_gecko_dirs += \
136 media/libsydneyaudio \
137 $(NULL)
138 endif
140 tier_gecko_dirs += \
141 uriloader \
142 modules/libimg \
143 caps \
144 parser \
145 gfx \
146 modules/libpr0n \
147 modules/plugin \
148 dom \
149 view \
150 widget \
151 content \
152 editor \
153 layout \
154 docshell \
155 webshell \
156 embedding \
157 xpfe/appshell \
158 $(NULL)
160 ifdef MOZ_UNIVERSALCHARDET
161 tier_gecko_dirs += extensions/universalchardet
162 endif
164 ifdef ACCESSIBILITY
165 tier_gecko_dirs += accessible
166 endif
169 # tier "toolkit" - xpfe & toolkit
171 # The division of "gecko" and "toolkit" is somewhat arbitrary, and related
172 # to history where "gecko" wasn't forked between seamonkey/firefox but
173 # "toolkit" was.
176 tier_toolkit_dirs += chrome profile
178 # This must preceed xpfe
179 ifdef MOZ_JPROF
180 tier_toolkit_dirs += tools/jprof
181 endif
183 tier_toolkit_dirs += \
184 xpfe \
185 toolkit/components \
186 $(NULL)
188 ifdef MOZ_ENABLE_XREMOTE
189 tier_toolkit_dirs += widget/src/xremoteclient
190 endif
192 ifdef MOZ_SPELLCHECK
193 tier_toolkit_dirs += extensions/spellcheck
194 endif
196 tier_toolkit_dirs += toolkit
198 ifdef MOZ_XPINSTALL
199 tier_toolkit_dirs += xpinstall
200 endif
202 ifdef MOZ_PSM
203 tier_toolkit_dirs += security/manager
204 else
205 tier_toolkit_dirs += security/manager/boot/public security/manager/ssl/public
206 endif
208 ifdef MOZ_PREF_EXTENSIONS
209 tier_toolkit_dirs += extensions/pref
210 endif
212 # JavaXPCOM JNI code is compiled into libXUL
213 ifdef MOZ_JAVAXPCOM
214 tier_toolkit_dirs += extensions/java/xpcom/src
215 endif
217 ifndef BUILD_STATIC_LIBS
218 ifneq (,$(MOZ_ENABLE_GTK2))
219 tier_toolkit_dirs += embedding/browser/gtk
220 endif
221 endif
223 ifndef BUILD_STATIC_LIBS
224 tier_toolkit_dirs += toolkit/library
225 endif
227 ifdef MOZ_ENABLE_LIBXUL
228 tier_toolkit_dirs += xpcom/stub
229 endif
231 ifdef NS_TRACE_MALLOC
232 tier_toolkit_dirs += tools/trace-malloc
233 endif
235 ifdef MOZ_ENABLE_GNOME_COMPONENT
236 tier_toolkit_dirs += toolkit/system/gnome
237 endif
239 ifdef MOZ_ENABLE_DBUS
240 tier_toolkit_dirs += toolkit/system/dbus
241 endif
243 ifdef MOZ_LEAKY
244 tier_toolkit_dirs += tools/leaky
245 endif
247 ifdef MOZ_MAPINFO
248 tier_toolkit_dirs += tools/codesighs
249 endif
251 ifdef ENABLE_TESTS
252 tier_toolkit_dirs += testing/mochitest
253 endif
255 ifdef MOZ_TREE_FREETYPE
256 tier_external_dirs += modules/freetype2
257 endif