# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # 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', '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', '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/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['GNU_CXX']: CXXFLAGS += ['-Wno-shadow']