diff options
Diffstat (limited to 'gfx/thebes/moz.build')
-rw-r--r-- | gfx/thebes/moz.build | 273 |
1 files changed, 273 insertions, 0 deletions
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build new file mode 100644 index 000000000..227b2b875 --- /dev/null +++ b/gfx/thebes/moz.build @@ -0,0 +1,273 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# 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.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']: + UNIFIED_SOURCES += [ + 'gfxDWriteFontList.cpp', + ] + SOURCES += [ + 'gfxDWriteCommon.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 += [ + 'ContextStateTracker.cpp', + # Includes mac system header conflicting with point/size, + # and includes glxXlibSurface.h which drags in Xrender.h + 'gfxASurface.cpp', + # on X11, gfxDrawable.cpp includes X headers for an old workaround which + # we could consider removing soon (affects Ubuntus older than 10.04 LTS) + # which currently prevent it from joining UNIFIED_SOURCES. + 'gfxDrawable.cpp', + # gfxPlatform.cpp includes mac system header conflicting with point/size + 'gfxPlatform.cpp', + 'gfxPrefs.cpp', + 'PrintTarget.cpp', + 'PrintTargetThebes.cpp', +] + +UNIFIED_SOURCES += [ + 'CJKCompatSVS.cpp', + 'gfxAlphaRecovery.cpp', + 'gfxBaseSharedMemorySurface.cpp', + 'gfxBlur.cpp', + 'gfxContext.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', + 'gfxPlatformFontList.cpp', + 'gfxRect.cpp', + 'gfxScriptItemizer.cpp', + 'gfxSkipChars.cpp', + 'gfxSVGGlyphs.cpp', + 'gfxTextRun.cpp', + 'gfxUserFontSet.cpp', + 'gfxUtils.cpp', + 'nsUnicodeRange.cpp', + 'SoftwareVsyncSource.cpp', + 'VsyncSource.cpp', +] + +if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': + UNIFIED_SOURCES += [ + 'gfxMacPlatformFontList.mm', + ] +elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': + UNIFIED_SOURCES += [ + 'D3D11Checks.cpp', + 'DeviceManagerDx.cpp', + ] + +# We prefer to use ICU for normalization functions, but currently it is only +# available if we're building with the Intl API enabled: +if CONFIG['ENABLE_INTL_API']: + 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['CLANG_CXX']: + # Suppress warnings from Skia header files. + SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough'] |