mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 21:31:04 +00:00
47c853314f
There are, sadly, many combinations of linkage in use throughout the tree. The main differentiator, though, is between program/libraries related to Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent linkage, some standalone. Anyways, these new templates remove the need to manually define the right dependencies against xpcomglue, nspr, mozalloc and mozglue in most cases. Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now just not use those Gecko-specific templates.
79 lines
2.1 KiB
Python
79 lines
2.1 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/.
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
|
|
Program(CONFIG['MOZ_CHILD_PROCESS_NAME'])
|
|
SOURCES += [
|
|
'MozillaRuntimeMainAndroid.cpp',
|
|
]
|
|
else:
|
|
kwargs = {
|
|
'linkage': None,
|
|
}
|
|
if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT':
|
|
kwargs['msvcrt'] = 'static'
|
|
GeckoProgram(CONFIG['MOZ_CHILD_PROCESS_NAME'], **kwargs)
|
|
|
|
SOURCES += [
|
|
'MozillaRuntimeMain.cpp',
|
|
]
|
|
USE_LIBS += [
|
|
'mozalloc',
|
|
'nspr',
|
|
'xul',
|
|
]
|
|
|
|
include('/ipc/chromium/chromium-config.mozbuild')
|
|
|
|
LOCAL_INCLUDES += [
|
|
'/toolkit/xre',
|
|
'/xpcom/base',
|
|
]
|
|
|
|
if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT':
|
|
# For sandbox includes and the include dependencies those have
|
|
LOCAL_INCLUDES += [
|
|
'/security',
|
|
'/security/sandbox',
|
|
'/security/sandbox/chromium',
|
|
]
|
|
USE_LIBS += [
|
|
'sandbox_staticruntime_s',
|
|
]
|
|
DELAYLOAD_DLLS += [
|
|
'mozalloc.dll',
|
|
'nss3.dll',
|
|
'xul.dll'
|
|
]
|
|
|
|
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']
|
|
|
|
# Windows builds have dll linkage warnings due to msvcrt static linkage
|
|
if CONFIG['OS_ARCH'] != 'WINNT':
|
|
FAIL_ON_WARNINGS = True
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
|
OS_LIBS += [
|
|
'binder',
|
|
'utils',
|
|
]
|