summaryrefslogtreecommitdiffstats
path: root/gfx/thebes/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/thebes/moz.build')
-rw-r--r--gfx/thebes/moz.build299
1 files changed, 299 insertions, 0 deletions
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
new file mode 100644
index 0000000000..176cc3c7e5
--- /dev/null
+++ b/gfx/thebes/moz.build
@@ -0,0 +1,299 @@
+# -*- 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")
+
+XPIDL_SOURCES += [
+ "nsIFontLoadCompleteCallback.idl",
+]
+
+XPIDL_MODULE = "gfx"
+
+EXPORTS += [
+ "COLRFonts.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",
+ "gfxFontFeatures.h",
+ "gfxFontInfoLoader.h",
+ "gfxFontPrefLangList.h",
+ "gfxFontSrcPrincipal.h",
+ "gfxFontSrcURI.h",
+ "gfxFontUtils.h",
+ "gfxFontVariations.h",
+ "gfxGradientCache.h",
+ "gfxImageSurface.h",
+ "gfxLineSegment.h",
+ "gfxMathTable.h",
+ "gfxMatrix.h",
+ "gfxOTSUtils.h",
+ "gfxPattern.h",
+ "gfxPlatform.h",
+ "gfxPlatformFontList.h",
+ "gfxPlatformWorker.h",
+ "gfxPoint.h",
+ "gfxQuad.h",
+ "gfxQuaternion.h",
+ "gfxRect.h",
+ "gfxSharedImageSurface.h",
+ "gfxSkipChars.h",
+ "gfxSVGGlyphs.h",
+ "gfxTextRun.h",
+ "gfxTypes.h",
+ "gfxUserFontSet.h",
+ "gfxUtils.h",
+ "SharedFontList.h",
+ "SoftwareVsyncSource.h",
+ "ThebesRLBoxTypes.h",
+ "VsyncSource.h",
+]
+
+EXPORTS.mozilla.gfx += [
+ "D3D11Checks.h",
+ "DeviceManagerDx.h",
+ "DisplayConfigWindows.h",
+ "PrintPromise.h",
+ "PrintTarget.h",
+ "PrintTargetThebes.h",
+ "ThebesRLBox.h",
+]
+
+EXPORTS.mozilla.gfx += ["SkMemoryReporter.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 += [
+ "gfxMacUtils.h",
+ "gfxPlatformMac.h",
+ "gfxQuartzNativeDrawing.h",
+ "gfxQuartzSurface.h",
+ ]
+ EXPORTS.mozilla.gfx += [
+ "PrintTargetCG.h",
+ ]
+ SOURCES += [
+ "gfxCoreTextShaper.cpp",
+ "gfxMacFont.cpp",
+ "gfxMacUtils.cpp",
+ "gfxPlatformMac.cpp",
+ "gfxQuartzNativeDrawing.cpp",
+ "gfxQuartzSurface.cpp",
+ "PrintTargetCG.mm",
+ ]
+elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
+ EXPORTS += [
+ "gfxFT2FontBase.h",
+ "gfxPlatformGtk.h",
+ ]
+ EXPORTS.mozilla.gfx += [
+ "PrintTargetPDF.h",
+ ]
+ SOURCES += [
+ "gfxFcPlatformFontList.cpp",
+ "gfxFT2FontBase.cpp",
+ "gfxFT2Utils.cpp",
+ "gfxPlatformGtk.cpp",
+ "PrintTargetPDF.cpp",
+ ]
+
+ if CONFIG["MOZ_X11"]:
+ EXPORTS += [
+ "gfxXlibSurface.h",
+ ]
+ EXPORTS.mozilla.gfx += [
+ "XlibDisplay.h",
+ ]
+ SOURCES += [
+ "gfxXlibSurface.cpp",
+ "XlibDisplay.cpp",
+ ]
+
+elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
+ REQUIRES_UNIFIED_BUILD = True
+ EXPORTS += [
+ "gfxDWriteCommon.h",
+ "gfxDWriteFonts.h",
+ "gfxGDIFont.h",
+ "gfxGDIFontList.h",
+ "gfxWindowsNativeDrawing.h",
+ "gfxWindowsPlatform.h",
+ "gfxWindowsSurface.h",
+ ]
+ EXPORTS.mozilla.gfx += [
+ "PrintTargetPDF.h",
+ "PrintTargetWindows.h",
+ ]
+ SOURCES += [
+ "DisplayConfigWindows.cpp",
+ "gfxDWriteCommon.cpp",
+ "gfxDWriteFonts.cpp",
+ "gfxGDIFont.cpp",
+ "gfxGDIFontList.cpp",
+ "gfxWindowsNativeDrawing.cpp",
+ "gfxWindowsPlatform.cpp",
+ "gfxWindowsSurface.cpp",
+ "PrintTargetPDF.cpp",
+ "PrintTargetWindows.cpp",
+ ]
+ UNIFIED_SOURCES += [
+ "gfxDWriteFontList.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 += [
+ # 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",
+ "PrintTarget.cpp",
+ "PrintTargetThebes.cpp",
+]
+
+UNIFIED_SOURCES += [
+ "CJKCompatSVS.cpp",
+ "COLRFonts.cpp",
+ "gfxAlphaRecovery.cpp",
+ "gfxBaseSharedMemorySurface.cpp",
+ "gfxBlur.cpp",
+ "gfxContext.cpp",
+ "gfxFont.cpp",
+ "gfxFontEntry.cpp",
+ "gfxFontFeatures.cpp",
+ "gfxFontInfoLoader.cpp",
+ "gfxFontMissingGlyphs.cpp",
+ "gfxFontSrcPrincipal.cpp",
+ "gfxFontSrcURI.cpp",
+ "gfxGlyphExtents.cpp",
+ "gfxGradientCache.cpp",
+ "gfxGraphiteShaper.cpp",
+ "gfxHarfBuzzShaper.cpp",
+ "gfxImageSurface.cpp",
+ "gfxMathTable.cpp",
+ "gfxPattern.cpp",
+ "gfxPlatformFontList.cpp",
+ "gfxPlatformWorker.cpp",
+ "gfxScriptItemizer.cpp",
+ "gfxSkipChars.cpp",
+ "gfxSVGGlyphs.cpp",
+ "gfxTextRun.cpp",
+ "gfxUserFontSet.cpp",
+ "gfxUtils.cpp",
+ "SharedFontList.cpp",
+ "SoftwareVsyncSource.cpp",
+ "VsyncSource.cpp",
+]
+
+UNIFIED_SOURCES += [
+ "SkMemoryReporter.cpp",
+]
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
+ UNIFIED_SOURCES += [
+ "gfxMacPlatformFontList.mm",
+ ]
+elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
+ UNIFIED_SOURCES += [
+ "D3D11Checks.cpp",
+ ]
+ SOURCES += [
+ "DeviceManagerDx.cpp",
+ ]
+
+if CONFIG["MOZ_ENABLE_SKIA_PDF"]:
+ EXPORTS.mozilla.gfx += [
+ "PrintTargetSkPDF.h",
+ ]
+ SOURCES += [
+ "PrintTargetSkPDF.cpp",
+ ]
+
+# We use ICU for normalization functions:
+USE_LIBS += [
+ "icu",
+]
+
+include("/ipc/chromium/chromium-config.mozbuild")
+
+FINAL_LIBRARY = "xul"
+
+LOCAL_INCLUDES += [
+ "!/security/rlbox",
+ "/dom/base",
+ "/dom/media/platforms/apple",
+ "/dom/xml",
+ "/gfx/cairo/cairo/src",
+ "/widget/gtk",
+]
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android", "gtk"):
+ DEFINES["MOZ_ENABLE_FREETYPE"] = True
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
+ for var in ("MOZ_ENABLE_D3D10_LAYER",):
+ if CONFIG[var]:
+ DEFINES[var] = True
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android"):
+ CXXFLAGS += CONFIG["CAIRO_FT_CFLAGS"]
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
+ CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
+ CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
+ CXXFLAGS += CONFIG["MOZ_PANGO_CFLAGS"]
+
+if CONFIG["MOZ_WAYLAND"]:
+ CXXFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
+
+LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
+
+DEFINES["GRAPHITE2_STATIC"] = True
+
+CXXFLAGS += ["-Werror=switch"]
+
+include("/tools/fuzzing/libfuzzer-config.mozbuild")