summaryrefslogtreecommitdiffstats
path: root/ipc/glue/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'ipc/glue/moz.build')
-rw-r--r--ipc/glue/moz.build207
1 files changed, 207 insertions, 0 deletions
diff --git a/ipc/glue/moz.build b/ipc/glue/moz.build
new file mode 100644
index 000000000..dd3a2e1ba
--- /dev/null
+++ b/ipc/glue/moz.build
@@ -0,0 +1,207 @@
+# -*- 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/.
+
+EXPORTS += [
+ 'nsIIPCBackgroundChildCreateCallback.h',
+ 'nsIIPCSerializableInputStream.h',
+ 'nsIIPCSerializableURI.h',
+]
+
+EXPORTS.mozilla.ipc += [
+ 'BackgroundChild.h',
+ 'BackgroundParent.h',
+ 'BackgroundUtils.h',
+ 'BrowserProcessSubThread.h',
+ 'CrashReporterClient.h',
+ 'CrashReporterHost.h',
+ 'CrashReporterMetadataShmem.h',
+ 'CrossProcessMutex.h',
+ 'FileDescriptor.h',
+ 'FileDescriptorSetChild.h',
+ 'FileDescriptorSetParent.h',
+ 'FileDescriptorUtils.h',
+ 'GeckoChildProcessHost.h',
+ 'InputStreamUtils.h',
+ 'IOThreadChild.h',
+ 'IPCStreamUtils.h',
+ 'MessageChannel.h',
+ 'MessageLink.h',
+ 'Neutering.h',
+ 'ProcessChild.h',
+ 'ProtocolUtils.h',
+ 'ScopedXREEmbed.h',
+ 'SendStream.h',
+ 'SendStreamAlloc.h',
+ 'SharedMemory.h',
+ 'SharedMemoryBasic.h',
+ 'Shmem.h',
+ 'TaskFactory.h',
+ 'Transport.h',
+ 'URIUtils.h',
+ 'WindowsMessageLoop.h',
+]
+
+if CONFIG['MOZ_FAULTY'] == '1':
+ EXPORTS.mozilla.ipc += ['Faulty.h']
+ SOURCES += ['Faulty.cpp']
+
+if CONFIG['OS_ARCH'] == 'WINNT':
+ DEFINES['WEBRTC_WIN'] = True
+ EXPORTS.mozilla.ipc += [
+ 'Transport_win.h',
+ ]
+ SOURCES += [
+ 'SharedMemory_windows.cpp',
+ 'Transport_win.cpp',
+ 'WindowsMessageLoop.cpp',
+ ]
+else:
+ DEFINES['WEBRTC_POSIX'] = True
+ EXPORTS.mozilla.ipc += [
+ 'Transport_posix.h',
+ ]
+ UNIFIED_SOURCES += [
+ 'SharedMemory_posix.cpp',
+ 'Transport_posix.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',
+ ]
+
+# Android has its own,
+# almost-but-not-quite-compatible-with-POSIX-or-/dev/shm shared memory
+# impl.
+if CONFIG['OS_TARGET'] == 'Android':
+ EXPORTS.mozilla.ipc += ['SharedMemoryBasic_android.h']
+ UNIFIED_SOURCES += [
+ 'SharedMemoryBasic_android.cpp',
+ ]
+elif CONFIG['OS_ARCH'] == 'Darwin':
+ EXPORTS.mozilla.ipc += ['SharedMemoryBasic_mach.h']
+ SOURCES += [
+ 'SharedMemoryBasic_mach.mm',
+ ]
+else:
+ EXPORTS.mozilla.ipc += ['SharedMemoryBasic_chromium.h']
+
+if CONFIG['OS_ARCH'] == 'Linux':
+ UNIFIED_SOURCES += [
+ 'ProcessUtils_linux.cpp',
+ ]
+elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD', 'NetBSD', 'OpenBSD'):
+ UNIFIED_SOURCES += [
+ 'ProcessUtils_bsd.cpp'
+ ]
+elif CONFIG['OS_ARCH'] == 'Darwin':
+ UNIFIED_SOURCES += [
+ 'ProcessUtils_mac.mm'
+ ]
+else:
+ UNIFIED_SOURCES += [
+ 'ProcessUtils_none.cpp',
+ ]
+
+EXPORTS.ipc += [
+ 'IPCMessageUtils.h',
+]
+
+UNIFIED_SOURCES += [
+ 'BackgroundImpl.cpp',
+ 'BackgroundUtils.cpp',
+ 'BrowserProcessSubThread.cpp',
+ 'CrashReporterClient.cpp',
+ 'CrashReporterHost.cpp',
+ 'CrashReporterMetadataShmem.cpp',
+ 'FileDescriptor.cpp',
+ 'FileDescriptorUtils.cpp',
+ 'InputStreamUtils.cpp',
+ 'IPCMessageUtils.cpp',
+ 'IPCStreamUtils.cpp',
+ 'MessageChannel.cpp',
+ 'MessageLink.cpp',
+ 'MessagePump.cpp',
+ 'ProcessChild.cpp',
+ 'ProtocolUtils.cpp',
+ 'ScopedXREEmbed.cpp',
+ 'SendStreamChild.cpp',
+ 'SendStreamParent.cpp',
+ 'SharedMemory.cpp',
+ 'Shmem.cpp',
+ 'StringUtil.cpp',
+]
+
+# GeckoChildProcessHost.cpp cannot be built in unified mode because it uses plarena.h.
+# URIUtils.cpp cannot be built in unified mode because of name clashes on strdup.
+SOURCES += [
+ 'BackgroundChildImpl.cpp',
+ 'BackgroundParentImpl.cpp',
+ 'FileDescriptorSetChild.cpp',
+ 'FileDescriptorSetParent.cpp',
+ 'GeckoChildProcessHost.cpp',
+ 'URIUtils.cpp',
+]
+
+if CONFIG['_MSC_VER']:
+ # This is intended as a temporary hack to support building with VS2015.
+ # 'reinterpret_cast': conversion from 'DWORD' to 'HANDLE' of greater size
+ SOURCES['BackgroundChildImpl.cpp'].flags += ['-wd4312']
+ SOURCES['BackgroundParentImpl.cpp'].flags += ['-wd4312']
+
+LOCAL_INCLUDES += [
+ '/caps',
+ '/dom/broadcastchannel',
+ '/dom/indexedDB',
+ '/dom/workers',
+ '/media/webrtc/trunk',
+ '/xpcom/build',
+]
+
+IPDL_SOURCES = [
+ 'InputStreamParams.ipdlh',
+ 'IPCStream.ipdlh',
+ 'PBackground.ipdl',
+ 'PBackgroundSharedTypes.ipdlh',
+ 'PBackgroundTest.ipdl',
+ 'PFileDescriptorSet.ipdl',
+ 'ProtocolTypes.ipdlh',
+ 'PSendStream.ipdl',
+ 'URIParams.ipdlh',
+]
+
+LOCAL_INCLUDES += [
+ '/dom/ipc',
+ '/toolkit/crashreporter',
+ '/toolkit/xre',
+ '/xpcom/threads',
+]
+
+include('/ipc/chromium/chromium-config.mozbuild')
+
+FINAL_LIBRARY = 'xul'
+
+for var in ('MOZ_CHILD_PROCESS_NAME', 'MOZ_CHILD_PROCESS_NAME_PIE',
+ 'MOZ_CHILD_PROCESS_BUNDLE', 'DLL_PREFIX', 'DLL_SUFFIX'):
+ 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['GNU_CXX']:
+ CXXFLAGS += ['-Wno-shadow']