1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 # vim: set filetype=python:
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 include("/dom/media/webrtc/third_party_build/webrtc.mozbuild")
9 "nsIIPCSerializableInputStream.h",
12 EXPORTS.mozilla.ipc += [
16 "BackgroundStarterChild.h",
17 "BackgroundStarterParent.h",
20 "BrowserProcessSubThread.h",
23 "CrashReporterClient.h",
24 "CrashReporterHelper.h",
25 "CrashReporterHost.h",
26 "CrossProcessMutex.h",
27 "CrossProcessSemaphore.h",
32 "FileDescriptorUtils.h",
33 "GeckoChildProcessHost.h",
34 "IdleSchedulerChild.h",
35 "IdleSchedulerParent.h",
45 "LibrarySandboxPreload.h",
54 "ProtocolMessageUtils.h",
56 "RandomAccessStreamUtils.h",
59 "SerializedStructuredCloneBuffer.h",
61 "SharedMemoryBasic.h",
63 "ShmemMessageUtils.h",
67 "ToplevelActorHolder.h",
68 "TransportSecurityInfoUtils.h",
70 "UtilityAudioDecoder.h",
71 "UtilityAudioDecoderChild.h",
72 "UtilityAudioDecoderParent.h",
73 "UtilityProcessChild.h",
74 "UtilityProcessHost.h",
75 "UtilityProcessImpl.h",
76 "UtilityProcessManager.h",
77 "UtilityProcessParent.h",
78 "UtilityProcessSandboxing.h",
79 "WindowsMessageLoop.h",
82 if CONFIG["OS_ARCH"] == "WINNT":
84 "SharedMemory_windows.cpp",
85 "WindowsMessageLoop.cpp",
89 "SharedMemory_posix.cpp",
92 if CONFIG["OS_ARCH"] == "WINNT":
94 "CrossProcessMutex_windows.cpp",
96 elif not CONFIG["OS_ARCH"] in ("NetBSD", "OpenBSD"):
98 "CrossProcessMutex_posix.cpp",
102 "CrossProcessMutex_unimplemented.cpp",
105 if CONFIG["OS_ARCH"] == "WINNT":
107 "CrossProcessSemaphore_windows.cpp",
109 elif CONFIG["OS_ARCH"] != "Darwin":
111 "CrossProcessSemaphore_posix.cpp",
115 "CrossProcessSemaphore_unimplemented.cpp",
118 # Android has its own,
119 # almost-but-not-quite-compatible-with-POSIX-or-/dev/shm shared memory
121 if CONFIG["OS_TARGET"] == "Android":
122 EXPORTS.mozilla.ipc += ["SharedMemoryBasic_android.h"]
124 "SharedMemoryBasic_android.cpp",
126 elif CONFIG["OS_ARCH"] == "Darwin":
127 EXPORTS.mozilla.ipc += ["SharedMemoryBasic_mach.h"]
129 "SharedMemoryBasic_mach.mm",
132 EXPORTS.mozilla.ipc += ["SharedMemoryBasic_chromium.h"]
134 if CONFIG["OS_ARCH"] == "Linux":
136 "ProcessUtils_linux.cpp",
138 elif CONFIG["OS_ARCH"] in ("DragonFly", "FreeBSD", "NetBSD", "OpenBSD"):
139 UNIFIED_SOURCES += ["ProcessUtils_bsd.cpp"]
140 elif CONFIG["OS_ARCH"] == "Darwin":
141 UNIFIED_SOURCES += ["ProcessUtils_mac.mm"]
144 "ProcessUtils_none.cpp",
147 if CONFIG["OS_ARCH"] != "WINNT":
148 EXPORTS.mozilla.ipc += [
149 "FileDescriptorShuffle.h",
152 "FileDescriptorShuffle.cpp",
158 "IPCMessageUtilsSpecializations.h",
162 "BackgroundImpl.cpp",
163 "BackgroundUtils.cpp",
165 "BrowserProcessSubThread.cpp",
166 "CrashReporterClient.cpp",
167 "CrashReporterHost.cpp",
170 "FileDescriptor.cpp",
171 "FileDescriptorUtils.cpp",
172 "IdleSchedulerChild.cpp",
173 "IdleSchedulerParent.cpp",
174 "InputStreamUtils.cpp",
175 "IPCMessageUtilsSpecializations.cpp",
176 "IPCStreamUtils.cpp",
178 "LibrarySandboxPreload.cpp",
179 "MessageChannel.cpp",
183 "NodeController.cpp",
185 "ProcessUtils_common.cpp",
187 "RandomAccessStreamUtils.cpp",
190 "SerializedStructuredCloneBuffer.cpp",
194 "TransportSecurityInfoUtils.cpp",
196 "UtilityAudioDecoder.cpp",
197 "UtilityAudioDecoderChild.cpp",
198 "UtilityAudioDecoderParent.cpp",
199 "UtilityProcessChild.cpp",
200 "UtilityProcessHost.cpp",
201 "UtilityProcessImpl.cpp",
202 "UtilityProcessManager.cpp",
203 "UtilityProcessParent.cpp",
207 "BackgroundChildImpl.cpp",
208 "BackgroundParentImpl.cpp",
211 if CONFIG["OS_ARCH"] == "Darwin":
212 # GeckoChildProcessHost.cpp cannot be built unified due to OSX header
213 # clashes with TextRange.
215 "GeckoChildProcessHost.cpp",
219 "GeckoChildProcessHost.cpp",
222 if CONFIG["OS_ARCH"] == "WINNT":
223 UNIFIED_SOURCES += ["MessagePump_windows.cpp"]
224 elif CONFIG["OS_ARCH"] == "Darwin":
225 UNIFIED_SOURCES += ["MessagePump_mac.mm"]
226 elif CONFIG["OS_TARGET"] == "Android":
227 UNIFIED_SOURCES += ["MessagePump_android.cpp"]
231 "/dom/broadcastchannel",
235 "/third_party/libwebrtc",
236 "/third_party/libwebrtc/third_party/abseil-cpp",
237 "/tools/fuzzing/ipc",
241 PREPROCESSED_IPDL_SOURCES = [
242 "PUtilityAudioDecoder.ipdl",
243 "PUtilityProcess.ipdl",
247 "InputStreamParams.ipdlh",
250 "PBackgroundSharedTypes.ipdlh",
251 "PBackgroundStarter.ipdl",
252 "PBackgroundTest.ipdl",
253 "PIdleScheduler.ipdl",
254 "ProtocolTypes.ipdlh",
255 "RandomAccessStreamParams.ipdlh",
259 if CONFIG["MOZ_ENABLE_FORKSERVER"]:
260 EXPORTS.mozilla.ipc += [
262 "ForkServiceChild.h",
267 "ForkServiceChild.cpp",
268 "MiniTransceiver.cpp",
276 "/toolkit/crashreporter",
282 include("/ipc/chromium/chromium-config.mozbuild")
284 FINAL_LIBRARY = "xul"
286 if CONFIG["OS_ARCH"] == "Darwin":
287 OS_LIBS += ["bsm"] # for audit_token_to_pid
289 for var in ("MOZ_CHILD_PROCESS_NAME", "MOZ_CHILD_PROCESS_BUNDLE"):
290 DEFINES[var] = '"%s"' % CONFIG[var]
292 if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "WINNT":
294 "/security/sandbox/chromium",
295 "/security/sandbox/chromium-shim",
296 "/security/sandbox/win/src/sandboxbroker",
299 if CONFIG["ENABLE_TESTS"]:
302 "test/utility_process_xpcom",
306 # Add libFuzzer configuration directives
307 include("/tools/fuzzing/libfuzzer-config.mozbuild")