mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 04:27:37 +00:00
664a32d9e7
JS_STANDALONE builds don't need everything in mozglue; have mozglue omit the unneeded code for such builds. Since the SpiderMonkey binaries are now more like the other Gecko binaries, we can remove some special cases for JS_STANDALONE in GeckoSharedLibrary, GeckoProgram, etc. All Gecko binaries now use mozglue, which contains mfbt, so we no longer need mention mfbt explicitly. Add a property to the getBuildConfiguration testing function's result that indicates whether we're using jemalloc or not. Include the newly necessary source directories in the SpiderMonkey source package.
104 lines
2.6 KiB
Python
104 lines
2.6 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/.
|
|
|
|
# Build mozglue as a shared lib on Windows, OSX and Android.
|
|
# If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
|
|
if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
|
|
SharedLibrary('mozglue')
|
|
else:
|
|
Library('mozglue')
|
|
|
|
SDK_LIBRARY = True
|
|
|
|
if CONFIG['OS_TARGET'] == 'Android':
|
|
SOURCES += [
|
|
'BionicGlue.cpp',
|
|
]
|
|
|
|
if CONFIG['MOZ_ASAN']:
|
|
SOURCES += [
|
|
'AsanOptions.cpp',
|
|
]
|
|
|
|
if CONFIG['OS_TARGET'] == 'WINNT':
|
|
DEFFILE = 'mozglue.def'
|
|
|
|
if not CONFIG['JS_STANDALONE']:
|
|
|
|
if CONFIG['MOZ_MEMORY'] and (CONFIG['MOZ_NATIVE_JEMALLOC'] or FORCE_SHARED_LIB):
|
|
pass
|
|
# TODO: SHARED_LIBRARY_LIBS go here
|
|
else:
|
|
# Temporary, until bug 662814 lands
|
|
NO_VISIBILITY_FLAGS = True
|
|
SOURCES += [
|
|
'dummy.cpp',
|
|
]
|
|
|
|
if CONFIG['OS_TARGET'] == 'WINNT':
|
|
SOURCES += [
|
|
'WindowsDllBlocklist.cpp',
|
|
]
|
|
DISABLE_STL_WRAPPING = True
|
|
OS_LIBS += [
|
|
'version',
|
|
]
|
|
|
|
if CONFIG['MOZ_NUWA_PROCESS']:
|
|
EXPORTS.ipc += [
|
|
'Nuwa.h',
|
|
]
|
|
SOURCES += [
|
|
'Nuwa.cpp',
|
|
]
|
|
|
|
EXPORTS.mozilla += [
|
|
'arm.h',
|
|
'SSE.h',
|
|
'WindowsDllBlocklist.h',
|
|
]
|
|
|
|
if CONFIG['CPU_ARCH'].startswith('x86'):
|
|
SOURCES += [
|
|
'SSE.cpp',
|
|
]
|
|
|
|
if CONFIG['CPU_ARCH'] == 'arm':
|
|
SOURCES += [
|
|
'arm.cpp',
|
|
]
|
|
|
|
if CONFIG['MOZ_LINKER']:
|
|
USE_LIBS += [
|
|
'zlib',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
|
SOURCES += [
|
|
'cpuacct.c',
|
|
]
|
|
|
|
USE_LIBS += [
|
|
'mfbt',
|
|
]
|
|
|
|
DEFINES['IMPL_MFBT'] = True
|
|
|
|
LDFLAGS += CONFIG['MOZ_GLUE_WRAP_LDFLAGS']
|
|
|
|
if not CONFIG['_MSC_VER']:
|
|
FAIL_ON_WARNINGS = True
|
|
|
|
if CONFIG['OS_TARGET'] == 'Darwin':
|
|
# On OSX 10.10.3, a dead lock happens in some cases involving dynamic
|
|
# symbol resolution for symbols that jemalloc itself uses. While it
|
|
# might be possible to find a way to avoid all such symbol resolutions,
|
|
# it's currently not possible because at the very least there's a call
|
|
# to pthread_self from tsd_init_check_recursion, which is necessary
|
|
# because somehow clang doesn't want to accept the __thread keyword
|
|
# for TLS.
|
|
LDFLAGS += ['-Wl,-bind_at_load']
|