1 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
2 # vim: set filetype=python:
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
13 'gfxBaseSharedMemorySurface.h',
21 'gfxFontFamilyList.h',
23 'gfxFontInfoLoader.h',
38 'gfxReusableImageSurfaceWrapper.h',
39 'gfxReusableSharedImageSurfaceWrapper.h',
40 'gfxReusableSurfaceWrapper.h',
41 'gfxSharedImageSurface.h',
42 'gfxSharedQuartzSurface.h',
53 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
55 'gfxAndroidPlatform.h',
61 'gfxAndroidPlatform.cpp',
68 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
70 'gfxAndroidPlatform.h',
76 'gfxAndroidPlatform.cpp',
83 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
86 'gfxQuartzImageSurface.h',
87 'gfxQuartzNativeDrawing.h',
91 'gfxCoreTextShaper.cpp',
94 'gfxQuartzImageSurface.cpp',
95 'gfxQuartzNativeDrawing.cpp',
96 'gfxQuartzSurface.cpp',
98 elif CONFIG['MOZ_WIDGET_GTK']:
101 'gfxGdkNativeRenderer.h',
109 'gfxFontconfigUtils.cpp',
110 'gfxFT2FontBase.cpp',
112 'gfxGdkNativeRenderer.cpp',
115 'gfxPlatformGtk.cpp',
119 if CONFIG['MOZ_X11']:
121 'gfxXlibNativeRenderer.h',
125 'gfxXlibNativeRenderer.cpp',
126 'gfxXlibSurface.cpp',
129 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
134 'gfxQPainterSurface.h',
135 'gfxQtNativeRenderer.h',
139 'gfxFontconfigUtils.cpp',
140 'gfxFT2FontBase.cpp',
144 'gfxQPainterSurface.cpp',
148 if CONFIG['MOZ_X11']:
153 'gfxQtNativeRenderer.cpp',
154 'gfxXlibSurface.cpp',
157 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
164 'gfxPlatformFontList.h',
165 'gfxWindowsNativeDrawing.h',
166 'gfxWindowsPlatform.h',
167 'gfxWindowsSurface.h',
169 # gfxGDIFontList.cpp forces NSPR logging, so it cannot be built in unified mode.
172 'gfxGDIFontList.cpp',
174 'gfxWindowsNativeDrawing.cpp',
175 'gfxWindowsPlatform.cpp',
176 'gfxWindowsSurface.cpp',
178 if CONFIG['MOZ_ENABLE_DWRITE_FONT']:
179 # gfxDWriteFontList.cpp forces NSPR logging, so it cannot be built in unified mode.
182 'gfxDWriteCommon.cpp',
183 'gfxDWriteFontList.cpp',
184 'gfxDWriteFonts.cpp',
187 # Are we targeting x86 or x64? If so, build gfxAlphaRecoverySSE2.cpp.
188 if CONFIG['INTEL_ARCHITECTURE']:
189 SOURCES += ['gfxAlphaRecoverySSE2.cpp']
190 # The file uses SSE2 intrinsics, so it needs special compile flags on some
192 SOURCES['gfxAlphaRecoverySSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
195 # Includes mac system header conflicting with point/size,
196 # and includes glxXlibSurface.h which drags in Xrender.h
198 # on X11, gfxDrawable.cpp includes X headers for an old workaround which
199 # we could consider removing soon (affects Ubuntus older than 10.04 LTS)
200 # which currently prevent it from joining UNIFIED_SOURCES.
206 # Includes mac system header conflicting with point/size, and also uses FORCE_PR_LOG
209 'gfxPlatformFontList.cpp',
212 'gfxUserFontSet.cpp',
218 'gfxAlphaRecovery.cpp',
219 'gfxBaseSharedMemorySurface.cpp',
222 'gfxFontFeatures.cpp',
223 'gfxFontInfoLoader.cpp',
224 'gfxFontMissingGlyphs.cpp',
226 'gfxGradientCache.cpp',
227 'gfxGraphiteShaper.cpp',
228 'gfxHarfBuzzShaper.cpp',
229 'gfxImageSurface.cpp',
234 'gfxReusableImageSurfaceWrapper.cpp',
235 'gfxReusableSharedImageSurfaceWrapper.cpp',
236 'gfxScriptItemizer.cpp',
241 'nsUnicodeRange.cpp',
244 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
245 # gfxMacPlatformFontList.mm forces NSPR logging so it cannot be built in unified mode.
247 'gfxMacPlatformFontList.mm',
250 FAIL_ON_WARNINGS = not CONFIG['_MSC_VER']
252 MSVC_ENABLE_PGO = True
254 include('/ipc/chromium/chromium-config.mozbuild')
256 FINAL_LIBRARY = 'xul'
259 'DeprecatedPremultiplyTables.h',
266 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gtk2', 'gtk3', 'gonk', 'qt'):
267 DEFINES['MOZ_ENABLE_FREETYPE'] = True
269 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
270 for var in ('MOZ_ENABLE_D3D9_LAYER', 'MOZ_ENABLE_D3D10_LAYER'):
274 CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
275 CXXFLAGS += CONFIG['TK_CFLAGS']
276 CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
277 CFLAGS += CONFIG['TK_CFLAGS']
279 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gonk', 'qt'):
280 CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
282 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
283 # This is set for "normal Android", that is, when Gecko is running on
284 # top of the android java runtime.
285 DEFINES['MOZ_USING_ANDROID_JAVA_WIDGETS'] = True
287 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'qt'):
288 CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
290 DEFINES['GRAPHITE2_STATIC'] = True
292 if CONFIG['OS_TARGET'] == 'WINNT':
293 DEFINES['OTS_DLL'] = True