summaryrefslogtreecommitdiffstats
path: root/ipc/app/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'ipc/app/moz.build')
-rw-r--r--ipc/app/moz.build114
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;