| # -*- 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) |