# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. EXPORTS += [ 'ContextStateTracker.h', 'DrawMode.h', 'gfx2DGlue.h', 'gfxAlphaRecovery.h', 'gfxASurface.h', 'gfxBaseSharedMemorySurface.h', 'gfxBlur.h', 'gfxColor.h', 'gfxContext.h', 'gfxDrawable.h', 'gfxEnv.h', 'gfxFailure.h', 'gfxFont-Impl.h', 'gfxFont.h', 'gfxFontConstants.h', 'gfxFontEntry.h', 'gfxFontFamilyList.h', 'gfxFontFeatures.h', 'gfxFontInfoLoader.h', 'gfxFontPrefLangList.h', 'gfxFontTest.h', 'gfxFontUtils.h', 'gfxGradientCache.h', 'gfxImageSurface.h', 'gfxLineSegment.h', 'gfxMathTable.h', 'gfxMatrix.h', 'gfxPattern.h', 'gfxPlatform.h', 'gfxPoint.h', 'gfxPrefs.h', 'gfxQuad.h', 'gfxQuaternion.h', 'gfxRect.h', 'gfxSharedImageSurface.h', 'gfxSkipChars.h', 'gfxSVGGlyphs.h', 'gfxTextRun.h', 'gfxTypes.h', 'gfxUserFontSet.h', 'gfxUtils.h', 'RoundedRect.h', 'SoftwareVsyncSource.h', 'VsyncSource.h', ] EXPORTS.mozilla.gfx += [ 'D3D11Checks.h', 'DeviceManagerDx.h', 'PrintTarget.h', 'PrintTargetThebes.h', ] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android': EXPORTS += [ 'gfxAndroidPlatform.h', 'gfxFT2FontBase.h', 'gfxFT2Fonts.h', ] EXPORTS.mozilla.gfx += [ 'PrintTargetPDF.h', ] SOURCES += [ 'gfxAndroidPlatform.cpp', 'gfxFT2FontBase.cpp', 'gfxFT2FontList.cpp', 'gfxFT2Fonts.cpp', 'gfxFT2Utils.cpp', 'PrintTargetPDF.cpp', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': EXPORTS += [ 'gfxPlatformMac.h', 'gfxQuartzNativeDrawing.h', 'gfxQuartzSurface.h', ] EXPORTS.mozilla.gfx += [ 'PrintTargetCG.h', ] SOURCES += [ 'gfxCoreTextShaper.cpp', 'gfxMacFont.cpp', 'gfxPlatformMac.cpp', 'gfxQuartzNativeDrawing.cpp', 'gfxQuartzSurface.cpp', 'PrintTargetCG.cpp', ] elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: EXPORTS += [ 'gfxFontconfigFonts.h', 'gfxFT2FontBase.h', 'gfxGdkNativeRenderer.h', 'gfxPlatformGtk.h', ] EXPORTS.mozilla.gfx += [ 'PrintTargetPDF.h', 'PrintTargetPS.h', ] SOURCES += [ 'gfxFcPlatformFontList.cpp', 'gfxFontconfigFonts.cpp', 'gfxFontconfigUtils.cpp', 'gfxFT2FontBase.cpp', 'gfxFT2Utils.cpp', 'gfxGdkNativeRenderer.cpp', 'gfxPlatformGtk.cpp', 'PrintTargetPDF.cpp', 'PrintTargetPS.cpp', ] if CONFIG['MOZ_X11']: EXPORTS += [ 'gfxXlibNativeRenderer.h', 'gfxXlibSurface.h', ] SOURCES += [ 'gfxXlibNativeRenderer.cpp', 'gfxXlibSurface.cpp', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': EXPORTS += [ 'gfxDWriteFonts.h', 'gfxGDIFont.h', 'gfxGDIFontList.h', 'gfxPlatformFontList.h', 'gfxWindowsNativeDrawing.h', 'gfxWindowsPlatform.h', 'gfxWindowsSurface.h', ] EXPORTS.mozilla.gfx += [ 'PrintTargetPDF.h', 'PrintTargetWindows.h', ] SOURCES += [ 'gfxGDIFont.cpp', 'gfxGDIFontList.cpp', 'gfxWindowsNativeDrawing.cpp', 'gfxWindowsPlatform.cpp', 'gfxWindowsSurface.cpp', 'PrintTargetPDF.cpp', 'PrintTargetWindows.cpp', ] if CONFIG['MOZ_ENABLE_DWRITE_FONT']: SOURCES += [ 'gfxDWriteCommon.cpp', 'gfxDWriteFontList.cpp', 'gfxDWriteFonts.cpp', ] # Are we targeting x86 or x64? If so, build gfxAlphaRecoverySSE2.cpp. if CONFIG['INTEL_ARCHITECTURE']: SOURCES += ['gfxAlphaRecoverySSE2.cpp'] # The file uses SSE2 intrinsics, so it needs special compile flags on some # compilers. SOURCES['gfxAlphaRecoverySSE2.cpp'].flags += CONFIG['SSE2_FLAGS'] SOURCES += [ 'CJKCompatSVS.cpp', 'ContextStateTracker.cpp', 'gfxAlphaRecovery.cpp', 'gfxASurface.cpp', 'gfxBaseSharedMemorySurface.cpp', 'gfxBlur.cpp', 'gfxContext.cpp', 'gfxDrawable.cpp', 'gfxFont.cpp', 'gfxFontEntry.cpp', 'gfxFontFeatures.cpp', 'gfxFontInfoLoader.cpp', 'gfxFontMissingGlyphs.cpp', 'gfxFontTest.cpp', 'gfxFontUtils.cpp', 'gfxGlyphExtents.cpp', 'gfxGradientCache.cpp', 'gfxGraphiteShaper.cpp', 'gfxHarfBuzzShaper.cpp', 'gfxImageSurface.cpp', 'gfxMathTable.cpp', 'gfxMatrix.cpp', 'gfxPattern.cpp', 'gfxPlatform.cpp', 'gfxPlatformFontList.cpp', 'gfxPrefs.cpp', 'gfxRect.cpp', 'gfxScriptItemizer.cpp', 'gfxSkipChars.cpp', 'gfxSVGGlyphs.cpp', 'gfxTextRun.cpp', 'gfxUserFontSet.cpp', 'gfxUtils.cpp', 'nsUnicodeRange.cpp', 'PrintTarget.cpp', 'PrintTargetThebes.cpp', 'SoftwareVsyncSource.cpp', 'VsyncSource.cpp', ] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': SOURCES += [ 'gfxMacPlatformFontList.mm', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': SOURCES += [ 'D3D11Checks.cpp', 'DeviceManagerDx.cpp', ] # We use ICU for normalization functions USE_LIBS += [ 'icu', ] include('/ipc/chromium/chromium-config.mozbuild') FINAL_LIBRARY = 'xul' GENERATED_FILES = [ 'DeprecatedPremultiplyTables.h', ] GENERATED_FILES['DeprecatedPremultiplyTables.h'].script = 'genTables.py:generate' LOCAL_INCLUDES += [ '/dom/workers', '/dom/xml', ] if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gtk2', 'gtk3'): DEFINES['MOZ_ENABLE_FREETYPE'] = True if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': for var in ('MOZ_ENABLE_D3D9_LAYER', 'MOZ_ENABLE_D3D10_LAYER'): if CONFIG[var]: DEFINES[var] = True CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CXXFLAGS += CONFIG['TK_CFLAGS'] CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CFLAGS += CONFIG['TK_CFLAGS'] if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android'): CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS'] LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] LOCAL_INCLUDES += ['/media/libyuv/include'] DEFINES['GRAPHITE2_STATIC'] = True if CONFIG['GKMEDIAS_SHARED_LIBRARY']: DEFINES['OTS_DLL'] = True if CONFIG['CLANG_CXX']: # Suppress warnings from Skia header files. SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']