|
1 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- |
|
2 # vim: set filetype=python: |
|
3 # This Source Code Form is subject to the terms of the Mozilla Public |
|
4 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
6 |
|
7 EXPORTS += [ |
|
8 'jemalloc_types.h', |
|
9 ] |
|
10 |
|
11 if not CONFIG['MOZ_JEMALLOC3']: |
|
12 SOURCES += [ |
|
13 'jemalloc.c', |
|
14 ] |
|
15 LIBRARY_NAME = 'jemalloc' |
|
16 FORCE_STATIC_LIB = True |
|
17 |
|
18 # For non release/esr builds, enable (some) fatal jemalloc assertions. This |
|
19 # helps us catch memory errors. |
|
20 if CONFIG['MOZ_UPDATE_CHANNEL'] not in ('release', 'esr'): |
|
21 DEFINES['MOZ_JEMALLOC_HARD_ASSERTS'] = True |
|
22 |
|
23 DEFINES['abort'] = 'moz_abort' |
|
24 |
|
25 if CONFIG['MOZ_REPLACE_MALLOC']: |
|
26 DEFINES['MOZ_REPLACE_MALLOC'] = True |
|
27 |
|
28 DEFINES['MOZ_JEMALLOC_IMPL'] = True |
|
29 |
|
30 #XXX: PGO on Linux causes problems here |
|
31 # See bug 419470 |
|
32 if CONFIG['OS_TARGET'] == 'Linux': |
|
33 NO_PGO = True |
|
34 |
|
35 LOCAL_INCLUDES += [ |
|
36 '/memory/build', |
|
37 ] |
|
38 |