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",
|
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",
|
2020-05-22 07:47:44 +03:00
|
|
|
"gfxOTSUtils.h",
|
2013-04-16 23:24:43 +04:00
|
|
|
"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",
|
2019-12-19 19:05:35 +03:00
|
|
|
"ThebesRLBoxTypes.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",
|
2020-05-04 04:01:53 +03:00
|
|
|
"DisplayConfigWindows.h",
|
2016-06-03 13:27:31 +03:00
|
|
|
"PrintTarget.h",
|
2016-06-16 19:26:59 +03:00
|
|
|
"PrintTargetThebes.h",
|
2019-12-19 19:05:35 +03:00
|
|
|
"ThebesRLBox.h",
|
2016-06-03 13:27:31 +03:00
|
|
|
]
|
|
|
|
|
2021-07-30 02:29:43 +03:00
|
|
|
EXPORTS.mozilla.gfx += ["SkMemoryReporter.h"]
|
2018-05-15 00:47:01 +03:00
|
|
|
|
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
|
|
|
]
|
2019-08-21 15:25:42 +03:00
|
|
|
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
2013-04-16 23:24:43 +04:00
|
|
|
EXPORTS += [
|
|
|
|
"gfxFT2FontBase.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
|
|
|
]
|
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",
|
|
|
|
"gfxPlatformGtk.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
|
|
|
if CONFIG["MOZ_X11"]:
|
|
|
|
EXPORTS += [
|
2013-05-03 20:54:45 +04:00
|
|
|
"gfxXlibSurface.h",
|
2013-04-16 23:24:43 +04:00
|
|
|
]
|
2021-07-06 10:42:42 +03:00
|
|
|
EXPORTS.mozilla.gfx += [
|
|
|
|
"XlibDisplay.h",
|
|
|
|
]
|
2013-10-25 03:23:05 +04:00
|
|
|
SOURCES += [
|
2013-10-24 03:00:23 +04:00
|
|
|
"gfxXlibSurface.cpp",
|
2021-07-06 10:42:42 +03:00
|
|
|
"XlibDisplay.cpp",
|
2013-04-24 01:54:15 +04:00
|
|
|
]
|
2013-04-16 23:24:43 +04:00
|
|
|
|
|
|
|
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
|
2021-08-25 13:46:17 +03:00
|
|
|
REQUIRES_UNIFIED_BUILD = True
|
2013-04-16 23:24:43 +04:00
|
|
|
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 += [
|
2020-04-16 17:54:17 +03:00
|
|
|
"DisplayConfigWindows.cpp",
|
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
|
|
|
]
|
|
|
|
|
2021-07-30 02:29:43 +03:00
|
|
|
UNIFIED_SOURCES += [
|
|
|
|
"SkMemoryReporter.cpp",
|
|
|
|
]
|
2018-05-15 00:47:01 +03:00
|
|
|
|
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 += [
|
2021-10-27 02:41:11 +03:00
|
|
|
"!/security/rlbox",
|
2017-03-10 23:18:48 +03:00
|
|
|
"/dom/base",
|
2021-02-24 16:47:34 +03:00
|
|
|
"/dom/media/platforms/apple",
|
2014-07-26 01:15:35 +04:00
|
|
|
"/dom/xml",
|
2021-07-30 02:38:31 +03:00
|
|
|
"/gfx/cairo/cairo/src",
|
2022-02-27 01:37:03 +03:00
|
|
|
"/widget/gtk",
|
2013-11-28 18:10:38 +04:00
|
|
|
]
|
|
|
|
|
2019-08-21 15:25:42 +03:00
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android", "gtk"):
|
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
|
|
|
|
|
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"]
|
|
|
|
|
2019-08-21 15:25:42 +03:00
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
2021-12-23 23:29:07 +03:00
|
|
|
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
|
|
|
|
CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
|
2014-07-24 19:55:33 +04:00
|
|
|
CXXFLAGS += CONFIG["MOZ_PANGO_CFLAGS"]
|
|
|
|
|
2019-06-21 00:52:42 +03:00
|
|
|
if CONFIG["MOZ_WAYLAND"]:
|
|
|
|
CXXFLAGS += CONFIG["MOZ_WAYLAND_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"]
|
2021-03-19 03:58:23 +03:00
|
|
|
|
|
|
|
CXXFLAGS += ["-Werror=switch"]
|