# -*- 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/. EXPORTS += [ 'jemalloc_types.h', ] if not CONFIG['MOZ_JEMALLOC4']: SOURCES += [ 'jemalloc.c', ] Library('mozjemalloc') STATIC_LIBRARY_NAME = 'jemalloc' FORCE_STATIC_LIB = True # See bug 422055. if CONFIG['OS_ARCH'] == 'SunOS' and not CONFIG['GNU_CC'] \ and CONFIG['MOZ_OPTIMIZE']: CFLAGS += ['-xO5'] # For non release/esr builds, enable (some) fatal jemalloc assertions. This # helps us catch memory errors. if CONFIG['MOZ_UPDATE_CHANNEL'] not in ('release', 'esr'): DEFINES['MOZ_JEMALLOC_HARD_ASSERTS'] = True DEFINES['abort'] = 'moz_abort' DEFINES['MOZ_JEMALLOC_IMPL'] = True #XXX: PGO on Linux causes problems here # See bug 419470 if CONFIG['OS_TARGET'] == 'Linux': NO_PGO = True if CONFIG['MOZ_NUWA_PROCESS']: DEFINES['pthread_mutex_lock'] = '__real_pthread_mutex_lock'; LOCAL_INCLUDES += [ '/memory/build', ] if CONFIG['GNU_CC']: CFLAGS += ['-Wshadow'] if CONFIG['_MSC_VER']: CFLAGS += ['-wd4273'] # inconsistent dll linkage (bug 558163)