gecko-dev/build/moz.configure/memory.configure

53 строки
1.7 KiB
Python

# -*- 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/.
@deprecated_option(env='MOZ_JEMALLOC4')
def moz_jemalloc4(value):
die('MOZ_JEMALLOC4 is deprecated')
@depends(target)
def jemalloc_default(target):
return target.kernel in ('Darwin', 'Linux', 'WINNT')
js_option('--enable-jemalloc', env='MOZ_MEMORY', default=jemalloc_default,
help='{Replace|Do not replace} memory allocator with jemalloc')
set_config('MOZ_MEMORY', True, when='--enable-jemalloc')
set_define('MOZ_MEMORY', True, when='--enable-jemalloc')
add_old_configure_assignment('MOZ_MEMORY', True, when='--enable-jemalloc')
@depends(milestone, build_project)
def replace_malloc_default(milestone, build_project):
if build_project == 'memory':
return True
if milestone.is_nightly and build_project != 'js':
return True
js_option('--enable-replace-malloc', default=replace_malloc_default,
when='--enable-jemalloc',
help='{Enable|Disable} ability to dynamically replace the malloc implementation')
set_config('MOZ_REPLACE_MALLOC', True, when='--enable-replace-malloc')
set_define('MOZ_REPLACE_MALLOC', True, when='--enable-replace-malloc')
@depends(build_project, when='--enable-replace-malloc')
def replace_malloc_static(build_project):
# Default to statically linking replace-malloc libraries that can be
# statically linked, except when building with --enable-project=memory.
if build_project != 'memory':
return True
set_config('MOZ_REPLACE_MALLOC_STATIC', replace_malloc_static)