summaryrefslogtreecommitdiffstats
path: root/memory/mozjemalloc/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'memory/mozjemalloc/moz.build')
-rw-r--r--memory/mozjemalloc/moz.build44
1 files changed, 44 insertions, 0 deletions
diff --git a/memory/mozjemalloc/moz.build b/memory/mozjemalloc/moz.build
new file mode 100644
index 000000000..0660d1300
--- /dev/null
+++ b/memory/mozjemalloc/moz.build
@@ -0,0 +1,44 @@
+# -*- 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/.
+
+EXPORTS += [
+ 'jemalloc_types.h',
+]
+
+if not CONFIG['MOZ_JEMALLOC4']:
+ SOURCES += [
+ 'jemalloc.c',
+ ]
+ FINAL_LIBRARY = 'memory'
+
+ # 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
+
+LOCAL_INCLUDES += [
+ '/memory/build',
+]
+
+if CONFIG['GNU_CC']:
+ CFLAGS += ['-Wno-unused'] # too many annoying warnings from mfbt/ headers
+
+if CONFIG['_MSC_VER']:
+ CFLAGS += ['-wd4273'] # inconsistent dll linkage (bug 558163)