зеркало из https://github.com/mozilla/gecko-dev.git
281 строка
7.2 KiB
Python
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_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']
|
|
|
|
DEFINES['GRAPHITE2_STATIC'] = True
|
|
|
|
if CONFIG['CLANG_CXX']:
|
|
# Suppress warnings from Skia header files.
|
|
SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
|