diff options
Diffstat (limited to 'ipc/app/moz.build')
-rw-r--r-- | ipc/app/moz.build | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/ipc/app/moz.build b/ipc/app/moz.build new file mode 100644 index 000000000..55c338cb8 --- /dev/null +++ b/ipc/app/moz.build @@ -0,0 +1,114 @@ +# -*- 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/. + +# Any changes that affect Android need to be made in pie/moz.build as well. + +if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android': + Program(CONFIG['MOZ_CHILD_PROCESS_NAME']) + SOURCES += [ + 'MozillaRuntimeMainAndroid.cpp', + ] + + DIRS += ['pie'] +else: + GeckoProgram(CONFIG['MOZ_CHILD_PROCESS_NAME'], linkage='dependent') + + SOURCES += [ + 'MozillaRuntimeMain.cpp', + ] + +include('/ipc/chromium/chromium-config.mozbuild') + +LOCAL_INCLUDES += [ + '/toolkit/xre', + '/xpcom/base', +] + +# We link GMPLoader into plugin-container on desktop so that its code is +# covered by the desktop DRM vendor's voucher. +if CONFIG['OS_TARGET'] != 'Android': + SOURCES += [ + '../../dom/media/gmp/GMPLoader.cpp', + ] + USE_LIBS += [ + 'rlz', + ] + +# DELAYLOAD_DLLS in this block ensures that the DLL blocklist is functional +if CONFIG['OS_ARCH'] == 'WINNT': + DELAYLOAD_DLLS += [ + 'nss3.dll', + ] + + if CONFIG['MOZ_SANDBOX']: + # For sandbox includes and the include dependencies those have + LOCAL_INCLUDES += [ + '/security/sandbox/chromium', + '/security/sandbox/chromium-shim', + ] + + USE_LIBS += [ + 'sandbox_s', + ] + + DELAYLOAD_DLLS += [ + 'winmm.dll', + 'user32.dll', + ] + + DELAYLOAD_DLLS += [ + 'xul.dll', + ] + +if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_TARGET'] in ('Linux', 'Android'): + USE_LIBS += [ + 'mozsandbox', + ] + + # gcc lto likes to put the top level asm in syscall.cc in a different partition + # from the function using it which breaks the build. Work around that by + # forcing there to be only one partition. + if '-flto' in CONFIG['OS_CXXFLAGS'] and not CONFIG['CLANG_CXX']: + LDFLAGS += ['--param lto-partitions=1'] + +if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_TARGET'] == 'Darwin': + # For sandbox includes and the include dependencies those have + LOCAL_INCLUDES += [ + '/security/sandbox/chromium', + '/security/sandbox/chromium-shim', + ] + USE_LIBS += [ + 'mozsandbox', + ] + +if CONFIG['_MSC_VER']: + # Always enter a Windows program through wmain, whether or not we're + # a console application. + WIN32_EXE_LDFLAGS += ['-ENTRY:wmainCRTStartup'] + +LDFLAGS += CONFIG['MOZ_ALLOW_HEAP_EXECUTE_FLAGS'] + +# Control the default heap size. +# This is the heap returned by GetProcessHeap(). +# As we use the CRT heap, the default size is too large and wastes VM. +# +# The default heap size is 1MB on Win32. +# The heap will grow if need be. +# +# Set it to 256k. See bug 127069. +if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']: + LDFLAGS += ['/HEAP:0x40000'] + +if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': + OS_LIBS += [ + 'binder', + 'utils', + ] + +if CONFIG['GNU_CXX']: + CXXFLAGS += ['-Wshadow'] + +DEFINES['MOZ_PLUGIN_CONTAINER'] = 1; |