Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/gfx/thebes/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 7 kB image not shown  

Quelle  moz.build   Sprache: unbekannt

 
# -*- 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",
    "FontPaletteCache.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",
    ]
    UNIFIED_SOURCES += [
        "AndroidSystemFontIterator.cpp",
    ]
elif CONFIG["MOZ_WIDGET_TOOLKIT"] in ("cocoa", "uikit"):
    EXPORTS += [
        "gfxMacUtils.h",
        "gfxPlatformMac.h",
        "gfxQuartzNativeDrawing.h",
        "gfxQuartzSurface.h",
    ]
    SOURCES += [
        "CoreTextFontList.cpp",
        "gfxCoreTextShaper.cpp",
        "gfxMacFont.cpp",
        "gfxMacUtils.cpp",
        "gfxPlatformMac.cpp",
        "gfxQuartzNativeDrawing.cpp",
        "gfxQuartzSurface.cpp",
    ]
    if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
        EXPORTS.mozilla.gfx += [
            "PrintTargetCG.h",
        ]
        SOURCES += [
            "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":
    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",
    "FontPaletteCache.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"] == "uikit":
    UNIFIED_SOURCES += [
        "IOSPlatformFontList.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 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",
    "/third_party/xsimd/include",
    "/widget/gtk",
]

if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("android", "gtk"):
    DEFINES["MOZ_ENABLE_FREETYPE"] = 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")

[ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ]