gecko-dev/gfx/thebes/moz.build

281 строка
7.2 KiB
Python

# -*- 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/.
with Files('*Text*'):
BUG_COMPONENT = ('Core', 'Graphics: Text')
with Files('*DWrite*'):
BUG_COMPONENT = ('Core', 'Graphics: Text')
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',
'gfxFontUtils.h',
'gfxFontVariations.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.mm',
]
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',
# gfxFontUtils.cpp and gfxPlatform.cpp include mac system header conflicting with point/size
'gfxFontUtils.cpp',
'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',
'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',
]
if CONFIG['MOZ_ENABLE_SKIA_PDF']:
EXPORTS.mozilla.gfx += [
'PrintTargetSkPDF.h',
]
SOURCES += [
'PrintTargetSkPDF.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'
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_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']
DEFINES['GRAPHITE2_STATIC'] = True
if CONFIG['CLANG_CXX']:
# Suppress warnings from Skia header files.
SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']