diff options
Diffstat (limited to 'ipc/glue/moz.build')
-rw-r--r-- | ipc/glue/moz.build | 207 |
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'] |