зеркало из https://github.com/mozilla/gecko-dev.git
132 строки
3.5 KiB
Python
132 строки
3.5 KiB
Python
# -*- Mode: python; c-basic-offset: 4; 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:
|
|
kwargs = {
|
|
'linkage': None,
|
|
}
|
|
if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['MOZ_ASAN']:
|
|
kwargs['msvcrt'] = 'static'
|
|
if not CONFIG['GNU_CC']:
|
|
USE_LIBS += [
|
|
'mozalloc_staticruntime',
|
|
]
|
|
GeckoProgram(CONFIG['MOZ_CHILD_PROCESS_NAME'], **kwargs)
|
|
|
|
SOURCES += [
|
|
'MozillaRuntimeMain.cpp',
|
|
]
|
|
USE_LIBS += [
|
|
'nspr',
|
|
'xul',
|
|
]
|
|
|
|
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',
|
|
]
|
|
|
|
if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT':
|
|
# For sandbox includes and the include dependencies those have
|
|
LOCAL_INCLUDES += [
|
|
'/security/sandbox/chromium',
|
|
'/security/sandbox/chromium-shim',
|
|
]
|
|
USE_LIBS += [
|
|
'rlz',
|
|
]
|
|
|
|
if CONFIG['MOZ_ASAN']:
|
|
USE_LIBS += [
|
|
'sandbox_s',
|
|
]
|
|
else:
|
|
USE_LIBS += [
|
|
'sandbox_staticruntime_s',
|
|
]
|
|
|
|
DELAYLOAD_DLLS += [
|
|
'nss3.dll',
|
|
'xul.dll'
|
|
]
|
|
|
|
DEFINES['HASH_NODE_ID_WITH_DEVICE_ID'] = 1;
|
|
SOURCES += [
|
|
'sha256.c',
|
|
]
|
|
|
|
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',
|
|
'rlz',
|
|
]
|
|
|
|
DEFINES['HASH_NODE_ID_WITH_DEVICE_ID'] = 1;
|
|
SOURCES += [
|
|
'sha256.c',
|
|
]
|
|
|
|
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']
|