mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 13:51:41 +00:00
700da072c4
This provides settings, which are populated from gfxVars retrieved in the parent, so that they can be used in all processes. IDWriteRenderingParams are created lazily, so that we don't try and create them in processes that have win32k locked down where the API calls will fail. Differential Revision: https://phabricator.services.mozilla.com/D120597
251 lines
6.4 KiB
Python
251 lines
6.4 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/.
|
|
|
|
EXPORTS.mozilla += [
|
|
"GenericRefCounted.h",
|
|
]
|
|
|
|
EXPORTS.mozilla.gfx += [
|
|
"2D.h",
|
|
"BaseCoord.h",
|
|
"BaseMargin.h",
|
|
"BasePoint.h",
|
|
"BasePoint3D.h",
|
|
"BasePoint4D.h",
|
|
"BaseRect.h",
|
|
"BaseSize.h",
|
|
"BezierUtils.h",
|
|
"Blur.h",
|
|
"BorrowedContext.h",
|
|
"Coord.h",
|
|
"CriticalSection.h",
|
|
"DataSurfaceHelpers.h",
|
|
"DrawEventRecorder.h",
|
|
"DrawTargetOffset.h",
|
|
"DrawTargetRecording.h",
|
|
"DrawTargetTiled.h",
|
|
"DrawTargetWrapAndRecord.h",
|
|
"Filters.h",
|
|
"FontVariation.h",
|
|
"Helpers.h",
|
|
"HelpersCairo.h",
|
|
"InlineTranslator.h",
|
|
"IterableArena.h",
|
|
"Logging.h",
|
|
"LoggingConstants.h",
|
|
"Matrix.h",
|
|
"MatrixFwd.h",
|
|
"NumericTools.h",
|
|
"PathHelpers.h",
|
|
"PatternHelpers.h",
|
|
"Point.h",
|
|
"Polygon.h",
|
|
"Quaternion.h",
|
|
"RecordedEvent.h",
|
|
"RecordingTypes.h",
|
|
"Rect.h",
|
|
"RectAbsolute.h",
|
|
"Scale.h",
|
|
"ScaleFactor.h",
|
|
"ScaleFactors2D.h",
|
|
"SourceSurfaceCairo.h",
|
|
"SourceSurfaceCapture.h",
|
|
"SourceSurfaceRawData.h",
|
|
"StackArray.h",
|
|
"Swizzle.h",
|
|
"Tools.h",
|
|
"Triangle.h",
|
|
"Types.h",
|
|
"UserData.h",
|
|
]
|
|
|
|
EXPORTS.mozilla.gfx += ["ssse3-scaler.h"]
|
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("cocoa", "uikit"):
|
|
EXPORTS.mozilla.gfx += [
|
|
"MacIOSurface.h",
|
|
"UnscaledFontMac.h",
|
|
]
|
|
UNIFIED_SOURCES += [
|
|
"NativeFontResourceMac.cpp",
|
|
"ScaledFontMac.cpp",
|
|
]
|
|
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
|
|
EXPORTS.mozilla.gfx += [
|
|
"dw-extra.h",
|
|
"DWriteSettings.h",
|
|
"UnscaledFontDWrite.h",
|
|
"UnscaledFontGDI.h",
|
|
]
|
|
SOURCES += [
|
|
"ConicGradientEffectD2D1.cpp",
|
|
"DrawTargetD2D1.cpp",
|
|
"DWriteSettings.cpp",
|
|
"ExtendInputEffectD2D1.cpp",
|
|
"FilterNodeD2D1.cpp",
|
|
"NativeFontResourceDWrite.cpp",
|
|
"NativeFontResourceGDI.cpp",
|
|
"PathD2D.cpp",
|
|
"RadialGradientEffectD2D1.cpp",
|
|
"ScaledFontDWrite.cpp",
|
|
"ScaledFontWin.cpp",
|
|
"SourceSurfaceD2D1.cpp",
|
|
]
|
|
DEFINES["WIN32"] = True
|
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android", "gtk"):
|
|
EXPORTS.mozilla.gfx += [
|
|
"UnscaledFontFreeType.h",
|
|
]
|
|
SOURCES += [
|
|
"NativeFontResourceFreeType.cpp",
|
|
"UnscaledFontFreeType.cpp",
|
|
]
|
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
|
SOURCES += [
|
|
"ScaledFontFontconfig.cpp",
|
|
]
|
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
|
|
SOURCES += [
|
|
"ScaledFontFreeType.cpp",
|
|
]
|
|
|
|
SOURCES += [
|
|
"ConvolutionFilter.cpp",
|
|
"DrawTargetSkia.cpp",
|
|
"PathSkia.cpp",
|
|
"SourceSurfaceSkia.cpp",
|
|
]
|
|
if CONFIG["CC_TYPE"] == "clang":
|
|
# Suppress warnings from Skia header files.
|
|
SOURCES["DrawTargetSkia.cpp"].flags += ["-Wno-implicit-fallthrough"]
|
|
SOURCES["PathSkia.cpp"].flags += ["-Wno-implicit-fallthrough"]
|
|
SOURCES["SourceSurfaceSkia.cpp"].flags += ["-Wno-implicit-fallthrough"]
|
|
EXPORTS.mozilla.gfx += [
|
|
"ConvolutionFilter.h",
|
|
"HelpersSkia.h",
|
|
]
|
|
|
|
# Are we targeting x86 or x64? If so, build SSE2 files.
|
|
if CONFIG["INTEL_ARCHITECTURE"]:
|
|
SOURCES += [
|
|
"BlurSSE2.cpp",
|
|
"FilterProcessingSSE2.cpp",
|
|
"ImageScalingSSE2.cpp",
|
|
"ssse3-scaler.c",
|
|
"SwizzleAVX2.cpp",
|
|
"SwizzleSSE2.cpp",
|
|
"SwizzleSSSE3.cpp",
|
|
]
|
|
DEFINES["USE_SSE2"] = True
|
|
# The file uses SSE2 intrinsics, so it needs special compile flags on some
|
|
# compilers.
|
|
SOURCES["BlurSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
|
|
SOURCES["FilterProcessingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
|
|
SOURCES["ImageScalingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
|
|
SOURCES["SwizzleAVX2.cpp"].flags += ["-mavx2"]
|
|
SOURCES["SwizzleSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
|
|
SOURCES["SwizzleSSSE3.cpp"].flags += CONFIG["SSSE3_FLAGS"]
|
|
SOURCES["ssse3-scaler.c"].flags += CONFIG["SSSE3_FLAGS"]
|
|
elif CONFIG["CPU_ARCH"].startswith("mips"):
|
|
SOURCES += [
|
|
"BlurLS3.cpp",
|
|
]
|
|
|
|
UNIFIED_SOURCES += [
|
|
"BezierUtils.cpp",
|
|
"Blur.cpp",
|
|
"BufferEdgePad.cpp",
|
|
"BufferUnrotate.cpp",
|
|
"CaptureCommandList.cpp",
|
|
"DataSourceSurface.cpp",
|
|
"DataSurfaceHelpers.cpp",
|
|
"DrawEventRecorder.cpp",
|
|
"DrawTarget.cpp",
|
|
"DrawTargetCairo.cpp",
|
|
"DrawTargetCapture.cpp",
|
|
"DrawTargetDual.cpp",
|
|
"DrawTargetOffset.cpp",
|
|
"DrawTargetRecording.cpp",
|
|
"DrawTargetTiled.cpp",
|
|
"DrawTargetWrapAndRecord.cpp",
|
|
"FilterNodeCapture.cpp",
|
|
"FilterNodeSoftware.cpp",
|
|
"FilterProcessing.cpp",
|
|
"FilterProcessingScalar.cpp",
|
|
"ImageScaling.cpp",
|
|
"Matrix.cpp",
|
|
"NativeFontResource.cpp",
|
|
"Path.cpp",
|
|
"PathCairo.cpp",
|
|
"PathCapture.cpp",
|
|
"PathHelpers.cpp",
|
|
"PathRecording.cpp",
|
|
"Quaternion.cpp",
|
|
"RecordedEvent.cpp",
|
|
"Scale.cpp",
|
|
"ScaledFontBase.cpp",
|
|
"SFNTData.cpp",
|
|
"SourceSurfaceCairo.cpp",
|
|
"SourceSurfaceCapture.cpp",
|
|
"SourceSurfaceRawData.cpp",
|
|
"Swizzle.cpp",
|
|
"Types.cpp",
|
|
]
|
|
|
|
SOURCES += [
|
|
"Factory.cpp", # Need to suppress warnings in Skia header files.
|
|
"InlineTranslator.cpp",
|
|
]
|
|
|
|
if CONFIG["CC_TYPE"] == "clang":
|
|
SOURCES["Factory.cpp"].flags += ["-Wno-implicit-fallthrough"]
|
|
|
|
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
|
|
CXXFLAGS += ["-Wno-error=shadow"]
|
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
|
|
EXPORTS.mozilla.gfx += [
|
|
"QuartzSupport.h",
|
|
]
|
|
SOURCES += [
|
|
"MacIOSurface.cpp",
|
|
"QuartzSupport.mm",
|
|
]
|
|
|
|
if CONFIG["CPU_ARCH"] == "aarch64" or CONFIG["BUILD_ARM_NEON"]:
|
|
SOURCES += [
|
|
"BlurNEON.cpp",
|
|
"LuminanceNEON.cpp",
|
|
"SwizzleNEON.cpp",
|
|
]
|
|
DEFINES["USE_NEON"] = True
|
|
SOURCES["BlurNEON.cpp"].flags += CONFIG["NEON_FLAGS"]
|
|
SOURCES["LuminanceNEON.cpp"].flags += CONFIG["NEON_FLAGS"]
|
|
SOURCES["SwizzleNEON.cpp"].flags += CONFIG["NEON_FLAGS"]
|
|
|
|
include("/ipc/chromium/chromium-config.mozbuild")
|
|
|
|
FINAL_LIBRARY = "xul"
|
|
|
|
for var in ("USE_CAIRO", "MOZ2D_HAS_MOZ_CAIRO"):
|
|
DEFINES[var] = True
|
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android", "gtk"):
|
|
DEFINES["MOZ_ENABLE_FREETYPE"] = True
|
|
|
|
CXXFLAGS += ["-Werror=switch"]
|
|
|
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android", "gtk"):
|
|
CXXFLAGS += CONFIG["CAIRO_FT_CFLAGS"]
|
|
|
|
LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
|
|
LOCAL_INCLUDES += [
|
|
"/gfx/cairo/cairo/src",
|
|
]
|