summaryrefslogtreecommitdiffstats
path: root/gfx/thebes/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/thebes/moz.build')
-rw-r--r--gfx/thebes/moz.build273
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']