michael@0: # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- michael@0: # vim: set filetype=python: michael@0: # This Source Code Form is subject to the terms of the Mozilla Public michael@0: # License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: # file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: EXPORTS += [ michael@0: 'nsIIPCBackgroundChildCreateCallback.h', michael@0: 'nsIIPCSerializableInputStream.h', michael@0: 'nsIIPCSerializableURI.h', michael@0: ] michael@0: michael@0: EXPORTS.mozilla.ipc += [ michael@0: 'BackgroundChild.h', michael@0: 'BackgroundParent.h', michael@0: 'BrowserProcessSubThread.h', michael@0: 'CrossProcessMutex.h', michael@0: 'FileDescriptor.h', michael@0: 'FileDescriptorUtils.h', michael@0: 'GeckoChildProcessHost.h', michael@0: 'InputStreamUtils.h', michael@0: 'IOThreadChild.h', michael@0: 'MessageChannel.h', michael@0: 'MessageLink.h', michael@0: 'ProcessChild.h', michael@0: 'ProtocolUtils.h', michael@0: 'ScopedXREEmbed.h', michael@0: 'SharedMemory.h', michael@0: 'SharedMemoryBasic.h', michael@0: 'SharedMemorySysV.h', michael@0: 'Shmem.h', michael@0: 'Transport.h', michael@0: 'URIUtils.h', michael@0: 'WindowsMessageLoop.h', michael@0: ] michael@0: michael@0: if CONFIG['OS_ARCH'] == 'WINNT': michael@0: EXPORTS.mozilla.ipc += [ michael@0: 'Transport_win.h', michael@0: ] michael@0: SOURCES += [ michael@0: 'SharedMemory_windows.cpp', michael@0: 'Transport_win.cpp', michael@0: 'WindowsMessageLoop.cpp', michael@0: ] michael@0: else: michael@0: EXPORTS.mozilla.ipc += [ michael@0: 'Transport_posix.h', michael@0: ] michael@0: UNIFIED_SOURCES += [ michael@0: 'SharedMemory_posix.cpp', michael@0: 'Transport_posix.cpp', michael@0: ] michael@0: michael@0: if CONFIG['OS_ARCH'] == 'WINNT': michael@0: SOURCES += [ michael@0: 'CrossProcessMutex_windows.cpp', michael@0: ] michael@0: elif CONFIG['OS_ARCH'] == 'Linux': michael@0: UNIFIED_SOURCES += [ michael@0: 'CrossProcessMutex_posix.cpp', michael@0: ] michael@0: else: michael@0: UNIFIED_SOURCES += [ michael@0: 'CrossProcessMutex_unimplemented.cpp', michael@0: ] michael@0: michael@0: # Android has its own, michael@0: # almost-but-not-quite-compatible-with-POSIX-or-/dev/shm shared memory michael@0: # impl. michael@0: if CONFIG['OS_TARGET'] == 'Android': michael@0: EXPORTS.mozilla.ipc += ['SharedMemoryBasic_android.h'] michael@0: UNIFIED_SOURCES += [ michael@0: 'SharedMemoryBasic_android.cpp', michael@0: ] michael@0: else: michael@0: EXPORTS.mozilla.ipc += ['SharedMemoryBasic_chromium.h'] michael@0: michael@0: if CONFIG['OS_ARCH'] == 'Linux': michael@0: UNIFIED_SOURCES += [ michael@0: 'ProcessUtils_linux.cpp', michael@0: ] michael@0: elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD', 'NetBSD', 'OpenBSD'): michael@0: UNIFIED_SOURCES += [ michael@0: 'ProcessUtils_bsd.cpp' michael@0: ] michael@0: else: michael@0: UNIFIED_SOURCES += [ michael@0: 'ProcessUtils_none.cpp', michael@0: ] michael@0: michael@0: EXPORTS.ipc += [ michael@0: 'IPCMessageUtils.h', michael@0: ] michael@0: michael@0: UNIFIED_SOURCES += [ michael@0: 'BackgroundImpl.cpp', michael@0: 'BrowserProcessSubThread.cpp', michael@0: 'FileDescriptor.cpp', michael@0: 'FileDescriptorUtils.cpp', michael@0: 'InputStreamUtils.cpp', michael@0: 'MessageChannel.cpp', michael@0: 'MessageLink.cpp', michael@0: 'MessagePump.cpp', michael@0: 'ProcessChild.cpp', michael@0: 'ProtocolUtils.cpp', michael@0: 'ScopedXREEmbed.cpp', michael@0: 'SharedMemory.cpp', michael@0: 'Shmem.cpp', michael@0: 'StringUtil.cpp', michael@0: ] michael@0: michael@0: # GeckoChildProcessHost.cpp cannot be built in unified mode because it uses plarena.h. michael@0: # URIUtils.cpp cannot be built in unified mode because of name clashes on strdup. michael@0: SOURCES += [ michael@0: 'BackgroundChildImpl.cpp', michael@0: 'BackgroundParentImpl.cpp', michael@0: 'GeckoChildProcessHost.cpp', michael@0: 'URIUtils.cpp', michael@0: ] michael@0: michael@0: LOCAL_INCLUDES += [ michael@0: '/xpcom/build', michael@0: ] michael@0: michael@0: IPDL_SOURCES = [ michael@0: 'InputStreamParams.ipdlh', michael@0: 'PBackground.ipdl', michael@0: 'PBackgroundTest.ipdl', michael@0: 'ProtocolTypes.ipdlh', michael@0: 'URIParams.ipdlh', michael@0: ] michael@0: michael@0: michael@0: LOCAL_INCLUDES += [ michael@0: '/xpcom/threads', michael@0: ] michael@0: michael@0: include('/ipc/chromium/chromium-config.mozbuild') michael@0: michael@0: FINAL_LIBRARY = 'xul' michael@0: michael@0: for var in ('MOZ_CHILD_PROCESS_NAME', 'MOZ_CHILD_PROCESS_BUNDLE'): michael@0: DEFINES[var] = '"%s"' % CONFIG[var] michael@0: michael@0: LOCAL_INCLUDES += [ michael@0: '/toolkit/crashreporter', michael@0: ] michael@0: michael@0: if CONFIG['MOZ_CONTENT_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT': michael@0: LOCAL_INCLUDES += [ michael@0: '/security/sandbox/win/src/sandboxbroker', michael@0: ]