Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/ipc/glue/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 8 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/.
include("/dom/media/webrtc/third_party_build/webrtc.mozbuild")

EXPORTS += [
    "nsIIPCSerializableInputStream.h",
]

EXPORTS.mozilla.ipc += [
    "AsyncBlockers.h",
    "BackgroundChild.h",
    "BackgroundParent.h",
    "BackgroundStarterChild.h",
    "BackgroundStarterParent.h",
    "BackgroundUtils.h",
    "BigBuffer.h",
    "ByteBuf.h",
    "ByteBufUtils.h",
    "CrashReporterClient.h",
    "CrashReporterHelper.h",
    "CrashReporterHost.h",
    "CrossProcessMutex.h",
    "CrossProcessSemaphore.h",
    "DataPipe.h",
    "Endpoint.h",
    "EnvironmentMap.h",
    "FileDescriptor.h",
    "FileDescriptorUtils.h",
    "GeckoChildProcessHost.h",
    "IdleSchedulerChild.h",
    "IdleSchedulerParent.h",
    "InputStreamUtils.h",
    "IOThread.h",
    "IPCCore.h",
    "IPCForwards.h",
    "IPCStreamUtils.h",
    "IPCTypes.h",
    "IPDLParamTraits.h",
    "IPDLStructMember.h",
    "LaunchError.h",
    "MessageChannel.h",
    "MessageLink.h",
    "MessagePump.h",
    "Neutering.h",
    "NodeChannel.h",
    "NodeController.h",
    "ProcessChild.h",
    "ProcessUtils.h",
    "ProtocolMessageUtils.h",
    "ProtocolUtils.h",
    "RandomAccessStreamUtils.h",
    "RawShmem.h",
    "RustMessageUtils.h",
    "ScopedPort.h",
    "SerializedStructuredCloneBuffer.h",
    "SharedMemory.h",
    "SharedMemoryHandle.h",
    "SharedMemoryMapping.h",
    "Shmem.h",
    "ShmemMessageUtils.h",
    "SideVariant.h",
    "TaintingIPCUtils.h",
    "TaskFactory.h",
    "ToplevelActorHolder.h",
    "TransportSecurityInfoUtils.h",
    "URIUtils.h",
    "UtilityAudioDecoder.h",
    "UtilityAudioDecoderChild.h",
    "UtilityAudioDecoderParent.h",
    "UtilityProcessChild.h",
    "UtilityProcessHost.h",
    "UtilityProcessImpl.h",
    "UtilityProcessManager.h",
    "UtilityProcessParent.h",
    "UtilityProcessSandboxing.h",
    "WindowsMessageLoop.h",
]

if CONFIG["OS_ARCH"] == "WINNT":
    SOURCES += ["WindowsMessageLoop.cpp"]

if CONFIG["OS_ARCH"] == "WINNT":
    SOURCES += [
        "CrossProcessMutex_windows.cpp",
    ]
elif not CONFIG["OS_ARCH"] in ("NetBSD", "OpenBSD"):
    UNIFIED_SOURCES += [
        "CrossProcessMutex_posix.cpp",
    ]
else:
    UNIFIED_SOURCES += [
        "CrossProcessMutex_unimplemented.cpp",
    ]

if CONFIG["OS_ARCH"] == "WINNT":
    SOURCES += [
        "CrossProcessSemaphore_windows.cpp",
    ]
elif CONFIG["OS_ARCH"] == "Darwin":
    SOURCES += [
        "CrossProcessSemaphore_mach.cpp",
    ]
else:
    UNIFIED_SOURCES += [
        "CrossProcessSemaphore_posix.cpp",
    ]

# TODO change to UNIFIED_SOURCES when old shared memory impl removed
if CONFIG["OS_ARCH"] == "Darwin":
    SOURCES += ["SharedMemory_mach.cpp"]
    SOURCES += ["SharedMemoryPlatform_mach.cpp"]
elif CONFIG["OS_ARCH"] == "WINNT":
    SOURCES += ["SharedMemory_windows.cpp"]
    SOURCES += ["SharedMemoryPlatform_windows.cpp"]
elif CONFIG["OS_TARGET"] == "Android":
    SOURCES += ["SharedMemory_android.cpp"]
    SOURCES += ["SharedMemoryPlatform_android.cpp"]
else:
    SOURCES += ["SharedMemory_posix.cpp"]
    SOURCES += ["SharedMemoryPlatform_posix.cpp"]


if CONFIG["OS_ARCH"] == "Linux":
    UNIFIED_SOURCES += [
        "ProcessUtils_linux.cpp",
        "SetProcessTitle.cpp",
    ]
    EXPORTS.mozilla.ipc += [
        "SetProcessTitle.h",
    ]
elif CONFIG["OS_ARCH"] in ("DragonFly", "FreeBSD", "NetBSD", "OpenBSD"):
    UNIFIED_SOURCES += [
        "ProcessUtils_bsd.cpp",
        "SetProcessTitle.cpp",
    ]
    EXPORTS.mozilla.ipc += [
        "SetProcessTitle.h",
    ]
elif CONFIG["TARGET_OS"] == "OSX":
    UNIFIED_SOURCES += ["ProcessUtils_mac.mm"]
else:
    UNIFIED_SOURCES += [
        "ProcessUtils_none.cpp",
    ]

if CONFIG["OS_ARCH"] != "WINNT":
    EXPORTS.mozilla.ipc += [
        "FileDescriptorShuffle.h",
    ]
    UNIFIED_SOURCES += [
        "FileDescriptorShuffle.cpp",
    ]

if CONFIG["TARGET_OS"] == "iOS":
    EXPORTS.mozilla.ipc += [
        "ExtensionKitUtils.h",
    ]
    UNIFIED_SOURCES += [
        "ExtensionKitUtils.mm",
    ]

EXPORTS.ipc += [
    "EnumSerializer.h",
    "IPCMessageUtils.h",
    "IPCMessageUtilsSpecializations.h",
]

UNIFIED_SOURCES += [
    "BackgroundImpl.cpp",
    "BackgroundUtils.cpp",
    "BigBuffer.cpp",
    "CrashReporterClient.cpp",
    "CrashReporterHost.cpp",
    "DataPipe.cpp",
    "Endpoint.cpp",
    "FileDescriptor.cpp",
    "FileDescriptorUtils.cpp",
    "IdleSchedulerChild.cpp",
    "IdleSchedulerParent.cpp",
    "InputStreamUtils.cpp",
    "IOThread.cpp",
    "IPCMessageUtilsSpecializations.cpp",
    "IPCStreamUtils.cpp",
    "MessageChannel.cpp",
    "MessageLink.cpp",
    "MessagePump.cpp",
    "NodeChannel.cpp",
    "NodeController.cpp",
    "ProcessChild.cpp",
    "ProcessUtils_common.cpp",
    "ProtocolUtils.cpp",
    "RandomAccessStreamUtils.cpp",
    "RawShmem.cpp",
    "ScopedPort.cpp",
    "SerializedStructuredCloneBuffer.cpp",
    "SharedMemory.cpp",
    "Shmem.cpp",
    "StringUtil.cpp",
    "TransportSecurityInfoUtils.cpp",
    "URIUtils.cpp",
    "UtilityAudioDecoder.cpp",
    "UtilityAudioDecoderChild.cpp",
    "UtilityAudioDecoderParent.cpp",
    "UtilityProcessChild.cpp",
    "UtilityProcessHost.cpp",
    "UtilityProcessImpl.cpp",
    "UtilityProcessManager.cpp",
    "UtilityProcessParent.cpp",
    "UtilityProcessSandboxing.cpp",
]

SOURCES += [
    "BackgroundChildImpl.cpp",
    "BackgroundParentImpl.cpp",
    # TODO move to UNIFIED_SOURCES when old shared memory impl is removed
    "SharedMemoryHandle.cpp",
    "SharedMemoryMapping.cpp",
]

if CONFIG["OS_ARCH"] == "Darwin":
    # GeckoChildProcessHost.cpp cannot be built unified due to OSX header
    # clashes with TextRange.
    SOURCES += [
        "GeckoChildProcessHost.cpp",
    ]
else:
    UNIFIED_SOURCES += [
        "GeckoChildProcessHost.cpp",
    ]

if CONFIG["OS_ARCH"] == "WINNT":
    UNIFIED_SOURCES += ["MessagePump_windows.cpp"]
elif CONFIG["OS_ARCH"] == "Darwin":
    UNIFIED_SOURCES += ["MessagePump_mac.mm"]
elif CONFIG["OS_TARGET"] == "Android":
    UNIFIED_SOURCES += ["MessagePump_android.cpp"]

LOCAL_INCLUDES += [
    "/caps",
    "/dom/broadcastchannel",
    "/dom/indexedDB",
    "/dom/storage",
    "/netwerk/base",
    "/third_party/abseil-cpp",
    "/third_party/libwebrtc",
    "/tools/fuzzing/ipc",
    "/xpcom/build",
]

PREPROCESSED_IPDL_SOURCES = [
    "PUtilityAudioDecoder.ipdl",
    "PUtilityProcess.ipdl",
]

IPDL_SOURCES = [
    "InputStreamParams.ipdlh",
    "IPCStream.ipdlh",
    "PBackground.ipdl",
    "PBackgroundSharedTypes.ipdlh",
    "PBackgroundStarter.ipdl",
    "PBackgroundTest.ipdl",
    "PIdleScheduler.ipdl",
    "ProtocolTypes.ipdlh",
    "RandomAccessStreamParams.ipdlh",
    "URIParams.ipdlh",
]

if CONFIG["MOZ_ENABLE_FORKSERVER"]:
    EXPORTS.mozilla.ipc += [
        "ForkServer.h",
        "ForkServiceChild.h",
        "MiniTransceiver.h",
    ]
    UNIFIED_SOURCES += [
        "ForkServer.cpp",
        "ForkServiceChild.cpp",
        "MiniTransceiver.cpp",
    ]
    XPCOM_MANIFESTS += [
        "components.conf",
    ]

LOCAL_INCLUDES += [
    "/dom/ipc",
    "/toolkit/crashreporter",
    "/toolkit/xre",
    "/xpcom/base",
    "/xpcom/threads",
]

include("/ipc/chromium/chromium-config.mozbuild")

FINAL_LIBRARY = "xul"

if CONFIG["TARGET_OS"] == "OSX":
    OS_LIBS += ["bsm"]  # for audit_token_to_pid
elif CONFIG["TARGET_OS"] == "iOS":
    OS_LIBS += ["-framework BrowserEngineKit"]

for var in (
    "MOZ_CHILD_PROCESS_NAME",
    "MOZ_CHILD_PROCESS_BUNDLENAME",
    "MOZ_EME_PROCESS_NAME_BRANDED",
    "MOZ_EME_PROCESS_BUNDLENAME",
):
    DEFINES[var] = '"%s"' % CONFIG[var]

if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "WINNT":
    LOCAL_INCLUDES += [
        "/security/sandbox/chromium",
        "/security/sandbox/chromium-shim",
        "/security/sandbox/win/src/sandboxbroker",
    ]

if CONFIG["ENABLE_TESTS"]:
    DIRS += [
        "test/gtest",
        "test/utility_process_xpcom",
        "test/browser",
    ]

# Add libFuzzer configuration directives
include("/tools/fuzzing/libfuzzer-config.mozbuild")

[ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ]