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",
53 "ProtocolMessageUtils.h",
55 "RandomAccessStreamUtils.h",
58 "SerializedStructuredCloneBuffer.h",
60 "SharedMemoryBasic.h",
62 "ShmemMessageUtils.h",
66 "ToplevelActorHolder.h",
67 "TransportSecurityInfoUtils.h",
69 "UtilityAudioDecoder.h",
70 "UtilityAudioDecoderChild.h",
71 "UtilityAudioDecoderParent.h",
72 "UtilityProcessChild.h",
73 "UtilityProcessHost.h",
74 "UtilityProcessImpl.h",
75 "UtilityProcessManager.h",
76 "UtilityProcessParent.h",
77 "UtilityProcessSandboxing.h",
78 "WindowsMessageLoop.h",
81 if CONFIG["OS_ARCH"] == "WINNT":
83 "SharedMemory_windows.cpp",
84 "WindowsMessageLoop.cpp",
88 "SharedMemory_posix.cpp",
91 if CONFIG["OS_ARCH"] == "WINNT":
93 "CrossProcessMutex_windows.cpp",
95 elif not CONFIG["OS_ARCH"] in ("NetBSD", "OpenBSD"):
97 "CrossProcessMutex_posix.cpp",
101 "CrossProcessMutex_unimplemented.cpp",
104 if CONFIG["OS_ARCH"] == "WINNT":
106 "CrossProcessSemaphore_windows.cpp",
108 elif CONFIG["OS_ARCH"] == "Darwin":
110 "CrossProcessSemaphore_mach.cpp",
114 "CrossProcessSemaphore_posix.cpp",
117 if CONFIG["OS_ARCH"] == "Darwin":
118 EXPORTS.mozilla.ipc += ["SharedMemoryBasic_mach.h"]
120 "SharedMemoryBasic_mach.mm",
123 EXPORTS.mozilla.ipc += ["SharedMemoryBasic_chromium.h"]
125 if CONFIG["OS_ARCH"] == "Linux":
127 "ProcessUtils_linux.cpp",
128 "SetProcessTitle.cpp",
130 EXPORTS.mozilla.ipc += [
133 elif CONFIG["OS_ARCH"] in ("DragonFly", "FreeBSD", "NetBSD", "OpenBSD"):
135 "ProcessUtils_bsd.cpp",
136 "SetProcessTitle.cpp",
138 EXPORTS.mozilla.ipc += [
141 elif CONFIG["OS_ARCH"] == "Darwin":
142 UNIFIED_SOURCES += ["ProcessUtils_mac.mm"]
145 "ProcessUtils_none.cpp",
148 if CONFIG["OS_ARCH"] != "WINNT":
149 EXPORTS.mozilla.ipc += [
150 "FileDescriptorShuffle.h",
153 "FileDescriptorShuffle.cpp",
159 "IPCMessageUtilsSpecializations.h",
163 "BackgroundImpl.cpp",
164 "BackgroundUtils.cpp",
166 "BrowserProcessSubThread.cpp",
167 "CrashReporterClient.cpp",
168 "CrashReporterHost.cpp",
171 "FileDescriptor.cpp",
172 "FileDescriptorUtils.cpp",
173 "IdleSchedulerChild.cpp",
174 "IdleSchedulerParent.cpp",
175 "InputStreamUtils.cpp",
176 "IPCMessageUtilsSpecializations.cpp",
177 "IPCStreamUtils.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",
204 "UtilityProcessSandboxing.cpp",
208 "BackgroundChildImpl.cpp",
209 "BackgroundParentImpl.cpp",
212 if CONFIG["OS_ARCH"] == "Darwin":
213 # GeckoChildProcessHost.cpp cannot be built unified due to OSX header
214 # clashes with TextRange.
216 "GeckoChildProcessHost.cpp",
220 "GeckoChildProcessHost.cpp",
223 if CONFIG["OS_ARCH"] == "WINNT":
224 UNIFIED_SOURCES += ["MessagePump_windows.cpp"]
225 elif CONFIG["OS_ARCH"] == "Darwin":
226 UNIFIED_SOURCES += ["MessagePump_mac.mm"]
227 elif CONFIG["OS_TARGET"] == "Android":
228 UNIFIED_SOURCES += ["MessagePump_android.cpp"]
232 "/dom/broadcastchannel",
236 "/third_party/libwebrtc",
237 "/third_party/libwebrtc/third_party/abseil-cpp",
238 "/tools/fuzzing/ipc",
242 PREPROCESSED_IPDL_SOURCES = [
243 "PUtilityAudioDecoder.ipdl",
244 "PUtilityProcess.ipdl",
248 "InputStreamParams.ipdlh",
251 "PBackgroundSharedTypes.ipdlh",
252 "PBackgroundStarter.ipdl",
253 "PBackgroundTest.ipdl",
254 "PIdleScheduler.ipdl",
255 "ProtocolTypes.ipdlh",
256 "RandomAccessStreamParams.ipdlh",
260 if CONFIG["MOZ_ENABLE_FORKSERVER"]:
261 EXPORTS.mozilla.ipc += [
263 "ForkServiceChild.h",
268 "ForkServiceChild.cpp",
269 "MiniTransceiver.cpp",
277 "/toolkit/crashreporter",
283 include("/ipc/chromium/chromium-config.mozbuild")
285 FINAL_LIBRARY = "xul"
287 if CONFIG["OS_ARCH"] == "Darwin":
288 OS_LIBS += ["bsm"] # for audit_token_to_pid
291 "MOZ_CHILD_PROCESS_NAME",
292 "MOZ_CHILD_PROCESS_BUNDLENAME",
293 "MOZ_EME_PROCESS_NAME_BRANDED",
294 "MOZ_EME_PROCESS_BUNDLENAME",
296 DEFINES[var] = '"%s"' % CONFIG[var]
298 if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "WINNT":
300 "/security/sandbox/chromium",
301 "/security/sandbox/chromium-shim",
302 "/security/sandbox/win/src/sandboxbroker",
305 if CONFIG["ENABLE_TESTS"]:
308 "test/utility_process_xpcom",
312 # Add libFuzzer configuration directives
313 include("/tools/fuzzing/libfuzzer-config.mozbuild")