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/.
6
topsrcdir = @top_srcdir@
10
include $(DEPTH)/config/autoconf.mk
23
gfxCachedTempSurface.h \
51
gfxSharedImageSurface.h \
52
gfxReusableSurfaceWrapper.h \
55
ifeq ($(MOZ_WIDGET_TOOLKIT),android)
57
gfxAndroidPlatform.h \
63
ifeq ($(MOZ_WIDGET_TOOLKIT),gonk)
65
gfxAndroidPlatform.h \
71
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
75
gfxQuartzImageSurface.h \
76
gfxQuartzNativeDrawing.h \
80
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
83
gfxGdkNativeRenderer.h \
92
gfxXlibNativeRenderer.h \
97
EXPORTS += gfxPangoFonts.h
99
EXPORTS += gfxFT2Fonts.h
104
ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
113
ifeq ($(MOZ_WIDGET_TOOLKIT),qt)
116
gfxQPainterSurface.h \
117
gfxQtNativeRenderer.h \
129
EXPORTS += gfxPangoFonts.h
131
EXPORTS += gfxFT2Fonts.h
135
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
138
gfxWindowsPlatform.h \
139
gfxWindowsSurface.h \
140
gfxWindowsNativeDrawing.h \
145
gfxPlatformFontList.h \
152
gfxAlphaRecovery.cpp \
154
gfxCachedTempSurface.cpp \
157
gfxImageSurface.cpp \
159
gfxFontMissingGlyphs.cpp \
166
gfxPlatformFontList.cpp \
172
gfxScriptItemizer.cpp \
173
gfxHarfBuzzShaper.cpp \
174
gfxSharedImageSurface.cpp \
175
gfxReusableSurfaceWrapper.cpp \
176
nsSurfaceTexture.cpp \
179
ifeq ($(MOZ_WIDGET_TOOLKIT),$(findstring $(MOZ_WIDGET_TOOLKIT),android gtk2 gonk qt))
180
DEFINES += -DMOZ_ENABLE_FREETYPE
184
DEFINES += -DGRAPHITE2_STATIC
186
gfxGraphiteShaper.cpp \
190
# Are we targeting x86 or x64? If so, build gfxAlphaRecoverySSE2.cpp.
191
ifneq (,$(INTEL_ARCHITECTURE))
192
CPPSRCS += gfxAlphaRecoverySSE2.cpp
195
SHARED_LIBRARY_LIBS += \
196
../layers/$(LIB_PREFIX)layers.$(LIB_SUFFIX) \
200
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
202
CPPSRCS += gfxWindowsPlatform.cpp \
203
gfxWindowsSurface.cpp \
204
gfxWindowsNativeDrawing.cpp \
208
ifdef MOZ_ENABLE_DWRITE_FONT
209
CPPSRCS += gfxDWriteFonts.cpp \
210
gfxDWriteShaper.cpp \
211
gfxDWriteTextAnalysis.cpp \
212
gfxDWriteCommon.cpp \
214
gfxDWriteFontList.cpp \
218
CPPSRCS += gfxGDIFont.cpp \
221
gfxUniscribeShaper.cpp \
224
CPPSRCS += gfxPDFSurface.cpp
226
ifdef MOZ_ENABLE_D3D9_LAYER
227
DEFINES += -DMOZ_ENABLE_D3D9_LAYER
230
ifdef MOZ_ENABLE_D3D10_LAYER
231
DEFINES += -DMOZ_ENABLE_D3D10_LAYER
234
ACDEFINES += -UWIN32_LEAN_AND_MEAN
237
ifeq ($(MOZ_WIDGET_TOOLKIT),android)
242
gfxAndroidPlatform.cpp \
250
# This is set for "normal Android", that is, when Gecko is running on
251
# top of the android java runtime.
252
DEFINES += -DMOZ_USING_ANDROID_JAVA_WIDGETS
255
ifeq ($(MOZ_WIDGET_TOOLKIT),gonk)
260
gfxAndroidPlatform.cpp \
270
ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
271
CPPSRCS += gfxOS2Fonts.cpp \
275
gfxFontconfigUtils.cpp \
277
CPPSRCS += gfxPDFSurface.cpp
280
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
283
CPPSRCS += gfxPangoFonts.cpp
285
CPPSRCS += gfxFT2Fonts.cpp
289
CPPSRCS += gfxXlibSurface.cpp gfxXlibNativeRenderer.cpp
292
CPPSRCS += gfxPlatformGtk.cpp gfxGdkNativeRenderer.cpp
293
CPPSRCS += gfxPDFSurface.cpp gfxPSSurface.cpp
294
CPPSRCS += gfxFontconfigUtils.cpp
295
CPPSRCS += gfxFT2FontBase.cpp
296
CPPSRCS += gfxFT2Utils.cpp
297
CPPSRCS += nsUnicodeRange.cpp
301
ifeq ($(MOZ_WIDGET_TOOLKIT),qt)
302
CPPSRCS += gfxQtPlatform.cpp gfxQPainterSurface.cpp
304
CPPSRCS += gfxXlibSurface.cpp gfxQtNativeRenderer.cpp
307
CPPSRCS += gfxPangoFonts.cpp
309
CPPSRCS += gfxFT2Fonts.cpp
311
CPPSRCS += gfxFT2FontBase.cpp
312
CPPSRCS += gfxFT2Utils.cpp
313
CPPSRCS += gfxFontconfigUtils.cpp
314
CPPSRCS += nsUnicodeRange.cpp
315
CPPSRCS += gfxPDFSurface.cpp
318
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
320
gfxQuartzSurface.cpp \
321
gfxQuartzImageSurface.cpp \
324
gfxCoreTextShaper.cpp \
326
#CPPSRCS += gfxPDFSurface.cpp
327
CPPSRCS += nsUnicodeRange.cpp
328
CPPSRCS += gfxQuartzNativeDrawing.cpp
331
gfxMacPlatformFontList.mm \
338
DEFINES += -DIMPL_THEBES -DWOFF_MOZILLA_CLIENT -DHB_DONT_DEFINE_STDINT
339
DEFINES += -DMOZ_OTS_REPORT_ERRORS
341
ifeq (WINNT,$(OS_TARGET))
345
include $(topsrcdir)/config/rules.mk
346
include $(topsrcdir)/ipc/chromium/chromium-config.mk
348
DEFINES := $(filter-out -DUNICODE,$(DEFINES))
350
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)
351
CFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)
353
ifeq ($(MOZ_WIDGET_TOOLKIT),android)
354
CXXFLAGS += $(CAIRO_FT_CFLAGS)
357
ifeq ($(MOZ_WIDGET_TOOLKIT),gonk)
358
CXXFLAGS += $(CAIRO_FT_CFLAGS)
361
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
362
CXXFLAGS += $(MOZ_PANGO_CFLAGS)
365
ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
366
CXXFLAGS += $(CAIRO_FT_CFLAGS)
369
ifeq ($(MOZ_WIDGET_TOOLKIT),qt)
370
CXXFLAGS += $(CAIRO_FT_CFLAGS) $(MOZ_PANGO_CFLAGS)
373
# The file uses SSE2 intrinsics, so it needs special compile flags on some
375
ifneq (,$(INTEL_ARCHITECTURE))
377
gfxAlphaRecoverySSE2.$(OBJ_SUFFIX): CXXFLAGS+=-msse2
380
ifdef SOLARIS_SUNPRO_CXX
381
gfxAlphaRecoverySSE2.$(OBJ_SUFFIX): OS_CXXFLAGS += -xarch=sse2 -xO4