2016-07-14 19:16:42 +03:00
|
|
|
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
2013-02-26 00:47:21 +04:00
|
|
|
# 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/.
|
|
|
|
|
2017-01-23 19:10:05 +03:00
|
|
|
with Files('*Text*'):
|
|
|
|
BUG_COMPONENT = ('Core', 'Graphics: Text')
|
|
|
|
|
|
|
|
with Files('*DWrite*'):
|
|
|
|
BUG_COMPONENT = ('Core', 'Graphics: Text')
|
|
|
|
|
2019-06-06 22:08:52 +03:00
|
|
|
XPIDL_SOURCES += [
|
|
|
|
'nsIFontLoadCompleteCallback.idl',
|
|
|
|
]
|
|
|
|
|
|
|
|
XPIDL_MODULE = 'gfx'
|
|
|
|
|
2013-04-16 23:24:43 +04:00
|
|
|
EXPORTS += [
|
2013-10-02 01:02:16 +04:00
|
|
|
'DrawMode.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
'gfx2DGlue.h',
|
|
|
|
'gfxAlphaRecovery.h',
|
2013-10-24 03:05:43 +04:00
|
|
|
'gfxASurface.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
'gfxBaseSharedMemorySurface.h',
|
|
|
|
'gfxBlur.h',
|
|
|
|
'gfxColor.h',
|
|
|
|
'gfxContext.h',
|
|
|
|
'gfxDrawable.h',
|
2015-10-28 16:31:00 +03:00
|
|
|
'gfxEnv.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
'gfxFailure.h',
|
|
|
|
'gfxFont.h',
|
|
|
|
'gfxFontConstants.h',
|
2014-09-16 13:58:12 +04:00
|
|
|
'gfxFontEntry.h',
|
2014-06-06 10:09:23 +04:00
|
|
|
'gfxFontFamilyList.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
'gfxFontFeatures.h',
|
2014-01-29 11:39:01 +04:00
|
|
|
'gfxFontInfoLoader.h',
|
2015-07-10 17:49:26 +03:00
|
|
|
'gfxFontPrefLangList.h',
|
2017-07-08 12:20:28 +03:00
|
|
|
'gfxFontSrcPrincipal.h',
|
2017-07-07 12:29:44 +03:00
|
|
|
'gfxFontSrcURI.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
'gfxFontUtils.h',
|
2016-12-03 15:18:25 +03:00
|
|
|
'gfxFontVariations.h',
|
2013-11-08 08:50:39 +04:00
|
|
|
'gfxGradientCache.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
'gfxImageSurface.h',
|
|
|
|
'gfxLineSegment.h',
|
2014-04-23 17:57:42 +04:00
|
|
|
'gfxMathTable.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
'gfxMatrix.h',
|
|
|
|
'gfxPattern.h',
|
|
|
|
'gfxPlatform.h',
|
2017-04-08 01:49:44 +03:00
|
|
|
'gfxPlatformFontList.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
'gfxPoint.h',
|
|
|
|
'gfxQuad.h',
|
|
|
|
'gfxQuaternion.h',
|
|
|
|
'gfxRect.h',
|
|
|
|
'gfxSharedImageSurface.h',
|
|
|
|
'gfxSkipChars.h',
|
2013-10-24 03:05:43 +04:00
|
|
|
'gfxSVGGlyphs.h',
|
2014-09-16 13:58:12 +04:00
|
|
|
'gfxTextRun.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
'gfxTypes.h',
|
|
|
|
'gfxUserFontSet.h',
|
|
|
|
'gfxUtils.h',
|
2019-04-27 18:37:29 +03:00
|
|
|
'SharedFontList.h',
|
2015-01-09 02:12:47 +03:00
|
|
|
'SoftwareVsyncSource.h',
|
2014-12-18 19:30:06 +03:00
|
|
|
'VsyncSource.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
]
|
|
|
|
|
2016-06-03 13:27:31 +03:00
|
|
|
EXPORTS.mozilla.gfx += [
|
2016-08-13 22:12:51 +03:00
|
|
|
'D3D11Checks.h',
|
2016-08-24 01:18:55 +03:00
|
|
|
'DeviceManagerDx.h',
|
2016-06-03 13:27:31 +03:00
|
|
|
'PrintTarget.h',
|
2016-06-16 19:26:59 +03:00
|
|
|
'PrintTargetThebes.h',
|
2016-06-03 13:27:31 +03:00
|
|
|
]
|
|
|
|
|
2018-05-15 00:47:01 +03:00
|
|
|
if CONFIG['MOZ_ENABLE_SKIA']:
|
|
|
|
EXPORTS.mozilla.gfx += [
|
|
|
|
'SkMemoryReporter.h'
|
|
|
|
]
|
|
|
|
|
2013-04-16 23:24:43 +04:00
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
|
|
|
|
EXPORTS += [
|
|
|
|
'gfxAndroidPlatform.h',
|
|
|
|
'gfxFT2FontBase.h',
|
2013-05-17 02:37:18 +04:00
|
|
|
'gfxFT2Fonts.h',
|
2016-06-06 18:10:28 +03:00
|
|
|
]
|
|
|
|
EXPORTS.mozilla.gfx += [
|
|
|
|
'PrintTargetPDF.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
]
|
2013-10-25 03:23:05 +04:00
|
|
|
SOURCES += [
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxAndroidPlatform.cpp',
|
|
|
|
'gfxFT2FontBase.cpp',
|
|
|
|
'gfxFT2FontList.cpp',
|
2013-10-24 03:00:23 +04:00
|
|
|
'gfxFT2Fonts.cpp',
|
|
|
|
'gfxFT2Utils.cpp',
|
2016-06-06 18:10:28 +03:00
|
|
|
'PrintTargetPDF.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
]
|
2013-04-16 23:24:43 +04:00
|
|
|
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
|
|
|
EXPORTS += [
|
|
|
|
'gfxPlatformMac.h',
|
|
|
|
'gfxQuartzNativeDrawing.h',
|
2013-05-08 22:31:52 +04:00
|
|
|
'gfxQuartzSurface.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
]
|
2016-06-10 00:35:14 +03:00
|
|
|
EXPORTS.mozilla.gfx += [
|
|
|
|
'PrintTargetCG.h',
|
|
|
|
]
|
2013-10-25 03:23:05 +04:00
|
|
|
SOURCES += [
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxCoreTextShaper.cpp',
|
2013-10-24 03:00:23 +04:00
|
|
|
'gfxMacFont.cpp',
|
|
|
|
'gfxPlatformMac.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxQuartzNativeDrawing.cpp',
|
2013-10-24 03:00:23 +04:00
|
|
|
'gfxQuartzSurface.cpp',
|
2016-11-29 01:40:43 +03:00
|
|
|
'PrintTargetCG.mm',
|
2013-04-24 01:54:15 +04:00
|
|
|
]
|
2016-03-16 08:06:26 +03:00
|
|
|
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
|
2013-04-16 23:24:43 +04:00
|
|
|
EXPORTS += [
|
|
|
|
'gfxFT2FontBase.h',
|
|
|
|
'gfxGdkNativeRenderer.h',
|
|
|
|
'gfxPlatformGtk.h',
|
|
|
|
]
|
2016-06-06 18:10:28 +03:00
|
|
|
EXPORTS.mozilla.gfx += [
|
2016-06-06 18:10:28 +03:00
|
|
|
'PrintTargetPDF.h',
|
2016-06-06 18:10:28 +03:00
|
|
|
'PrintTargetPS.h',
|
|
|
|
]
|
2013-10-25 03:23:05 +04:00
|
|
|
SOURCES += [
|
2015-05-13 08:11:25 +03:00
|
|
|
'gfxFcPlatformFontList.cpp',
|
2013-10-24 03:00:23 +04:00
|
|
|
'gfxFT2FontBase.cpp',
|
|
|
|
'gfxFT2Utils.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxGdkNativeRenderer.cpp',
|
2013-10-24 03:00:23 +04:00
|
|
|
'gfxPlatformGtk.cpp',
|
2016-06-06 18:10:28 +03:00
|
|
|
'PrintTargetPDF.cpp',
|
2016-06-06 18:10:28 +03:00
|
|
|
'PrintTargetPS.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
]
|
|
|
|
|
2013-04-16 23:24:43 +04:00
|
|
|
if CONFIG['MOZ_X11']:
|
|
|
|
EXPORTS += [
|
|
|
|
'gfxXlibNativeRenderer.h',
|
2013-05-03 20:54:45 +04:00
|
|
|
'gfxXlibSurface.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
]
|
2013-10-25 03:23:05 +04:00
|
|
|
SOURCES += [
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxXlibNativeRenderer.cpp',
|
2013-10-24 03:00:23 +04:00
|
|
|
'gfxXlibSurface.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
]
|
2013-04-16 23:24:43 +04:00
|
|
|
|
|
|
|
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
|
|
|
|
EXPORTS += [
|
2013-05-17 02:37:18 +04:00
|
|
|
'gfxDWriteFonts.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
'gfxGDIFont.h',
|
|
|
|
'gfxGDIFontList.h',
|
2013-05-17 02:37:18 +04:00
|
|
|
'gfxWindowsNativeDrawing.h',
|
|
|
|
'gfxWindowsPlatform.h',
|
|
|
|
'gfxWindowsSurface.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
]
|
2016-06-06 18:10:28 +03:00
|
|
|
EXPORTS.mozilla.gfx += [
|
|
|
|
'PrintTargetPDF.h',
|
2016-06-14 21:26:35 +03:00
|
|
|
'PrintTargetWindows.h',
|
2016-06-06 18:10:28 +03:00
|
|
|
]
|
2013-10-25 03:23:05 +04:00
|
|
|
SOURCES += [
|
2017-03-16 19:43:50 +03:00
|
|
|
'gfxDWriteCommon.cpp',
|
|
|
|
'gfxDWriteFonts.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxGDIFont.cpp',
|
|
|
|
'gfxGDIFontList.cpp',
|
2013-10-24 03:00:23 +04:00
|
|
|
'gfxWindowsNativeDrawing.cpp',
|
|
|
|
'gfxWindowsPlatform.cpp',
|
|
|
|
'gfxWindowsSurface.cpp',
|
2016-06-06 18:10:28 +03:00
|
|
|
'PrintTargetPDF.cpp',
|
2016-06-14 21:26:35 +03:00
|
|
|
'PrintTargetWindows.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
]
|
2017-03-16 19:43:50 +03:00
|
|
|
UNIFIED_SOURCES += [
|
|
|
|
'gfxDWriteFontList.cpp',
|
|
|
|
]
|
2013-04-24 01:54:15 +04:00
|
|
|
|
|
|
|
# Are we targeting x86 or x64? If so, build gfxAlphaRecoverySSE2.cpp.
|
|
|
|
if CONFIG['INTEL_ARCHITECTURE']:
|
2014-03-03 00:41:32 +04:00
|
|
|
SOURCES += ['gfxAlphaRecoverySSE2.cpp']
|
|
|
|
# The file uses SSE2 intrinsics, so it needs special compile flags on some
|
|
|
|
# compilers.
|
2014-03-20 05:55:00 +04:00
|
|
|
SOURCES['gfxAlphaRecoverySSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
|
2013-04-24 01:54:15 +04:00
|
|
|
|
2013-10-25 03:23:05 +04:00
|
|
|
SOURCES += [
|
2013-11-27 17:03:04 +04:00
|
|
|
# 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',
|
2017-01-27 15:05:23 +03:00
|
|
|
# gfxFontUtils.cpp and gfxPlatform.cpp include mac system header conflicting with point/size
|
|
|
|
'gfxFontUtils.cpp',
|
2013-11-27 17:03:04 +04:00
|
|
|
'gfxPlatform.cpp',
|
2016-06-03 13:27:31 +03:00
|
|
|
'PrintTarget.cpp',
|
2016-06-16 19:26:59 +03:00
|
|
|
'PrintTargetThebes.cpp',
|
2013-11-27 17:03:04 +04:00
|
|
|
]
|
|
|
|
|
|
|
|
UNIFIED_SOURCES += [
|
2014-03-31 21:30:26 +04:00
|
|
|
'CJKCompatSVS.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxAlphaRecovery.cpp',
|
|
|
|
'gfxBaseSharedMemorySurface.cpp',
|
|
|
|
'gfxBlur.cpp',
|
|
|
|
'gfxContext.cpp',
|
2014-10-09 00:19:14 +04:00
|
|
|
'gfxFont.cpp',
|
|
|
|
'gfxFontEntry.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxFontFeatures.cpp',
|
2018-09-14 15:30:56 +03:00
|
|
|
'gfxFontInfoLoader.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxFontMissingGlyphs.cpp',
|
2017-07-08 12:20:28 +03:00
|
|
|
'gfxFontSrcPrincipal.cpp',
|
2017-07-07 12:29:44 +03:00
|
|
|
'gfxFontSrcURI.cpp',
|
2014-09-16 13:58:12 +04:00
|
|
|
'gfxGlyphExtents.cpp',
|
2013-11-08 08:50:39 +04:00
|
|
|
'gfxGradientCache.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxGraphiteShaper.cpp',
|
|
|
|
'gfxHarfBuzzShaper.cpp',
|
|
|
|
'gfxImageSurface.cpp',
|
2014-04-23 17:57:42 +04:00
|
|
|
'gfxMathTable.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxPattern.cpp',
|
2014-10-09 00:19:14 +04:00
|
|
|
'gfxPlatformFontList.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxScriptItemizer.cpp',
|
|
|
|
'gfxSkipChars.cpp',
|
2013-10-24 03:05:43 +04:00
|
|
|
'gfxSVGGlyphs.cpp',
|
2014-09-16 13:58:12 +04:00
|
|
|
'gfxTextRun.cpp',
|
2014-10-09 00:19:14 +04:00
|
|
|
'gfxUserFontSet.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
'gfxUtils.cpp',
|
2019-04-27 18:37:29 +03:00
|
|
|
'SharedFontList.cpp',
|
2015-01-09 02:12:47 +03:00
|
|
|
'SoftwareVsyncSource.cpp',
|
2014-12-18 19:30:06 +03:00
|
|
|
'VsyncSource.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
]
|
|
|
|
|
2018-05-15 00:47:01 +03:00
|
|
|
if CONFIG['MOZ_ENABLE_SKIA']:
|
|
|
|
UNIFIED_SOURCES += [
|
|
|
|
'SkMemoryReporter.cpp',
|
|
|
|
]
|
|
|
|
|
2013-07-01 20:32:40 +04:00
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
2014-10-09 00:19:14 +04:00
|
|
|
UNIFIED_SOURCES += [
|
2013-07-01 20:32:40 +04:00
|
|
|
'gfxMacPlatformFontList.mm',
|
|
|
|
]
|
2016-07-26 22:50:30 +03:00
|
|
|
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
|
|
|
|
UNIFIED_SOURCES += [
|
2016-07-26 23:19:48 +03:00
|
|
|
'D3D11Checks.cpp',
|
2018-03-29 05:23:31 +03:00
|
|
|
]
|
|
|
|
SOURCES += [
|
2016-08-24 01:18:55 +03:00
|
|
|
'DeviceManagerDx.cpp',
|
2016-07-26 22:50:30 +03:00
|
|
|
]
|
2013-08-22 10:55:59 +04:00
|
|
|
|
2016-11-18 14:30:25 +03:00
|
|
|
if CONFIG['MOZ_ENABLE_SKIA_PDF']:
|
|
|
|
EXPORTS.mozilla.gfx += [
|
|
|
|
'PrintTargetSkPDF.h',
|
|
|
|
]
|
|
|
|
SOURCES += [
|
|
|
|
'PrintTargetSkPDF.cpp',
|
|
|
|
]
|
|
|
|
|
2017-09-22 12:37:16 +03:00
|
|
|
# We use ICU for normalization functions:
|
|
|
|
USE_LIBS += [
|
|
|
|
'icu',
|
|
|
|
]
|
2015-05-11 21:57:28 +03:00
|
|
|
|
2013-10-02 21:17:55 +04:00
|
|
|
include('/ipc/chromium/chromium-config.mozbuild')
|
|
|
|
|
2013-11-19 06:47:14 +04:00
|
|
|
FINAL_LIBRARY = 'xul'
|
2013-11-22 03:16:18 +04:00
|
|
|
|
2013-11-28 18:10:38 +04:00
|
|
|
LOCAL_INCLUDES += [
|
2017-03-10 23:18:48 +03:00
|
|
|
'/dom/base',
|
2014-07-26 01:15:35 +04:00
|
|
|
'/dom/xml',
|
2013-11-28 18:10:38 +04:00
|
|
|
]
|
|
|
|
|
2018-01-10 12:04:59 +03:00
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gtk3'):
|
2013-11-27 17:55:07 +04:00
|
|
|
DEFINES['MOZ_ENABLE_FREETYPE'] = True
|
|
|
|
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
|
2017-03-08 11:17:36 +03:00
|
|
|
for var in ('MOZ_ENABLE_D3D10_LAYER',):
|
2013-11-27 17:55:07 +04:00
|
|
|
if CONFIG[var]:
|
|
|
|
DEFINES[var] = True
|
|
|
|
|
2014-07-24 19:55:33 +04:00
|
|
|
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
|
|
|
CXXFLAGS += CONFIG['TK_CFLAGS']
|
|
|
|
CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
|
|
|
CFLAGS += CONFIG['TK_CFLAGS']
|
|
|
|
|
2016-10-27 03:17:10 +03:00
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android'):
|
2014-07-24 19:55:33 +04:00
|
|
|
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
|
|
|
|
|
2018-01-10 12:04:59 +03:00
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3':
|
2014-07-24 19:55:33 +04:00
|
|
|
CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
|
|
|
|
|
2015-07-30 19:05:22 +03:00
|
|
|
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
|
|
|
|
|
2013-11-27 17:55:07 +04:00
|
|
|
DEFINES['GRAPHITE2_STATIC'] = True
|
2016-01-08 11:43:58 +03:00
|
|
|
|
2017-12-08 00:09:38 +03:00
|
|
|
if CONFIG['CC_TYPE'] == 'clang':
|
2016-01-08 11:43:58 +03:00
|
|
|
# Suppress warnings from Skia header files.
|
|
|
|
SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
|