summaryrefslogtreecommitdiff
path: root/system/memory/mozjemalloc/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'system/memory/mozjemalloc/moz.build')
-rw-r--r--system/memory/mozjemalloc/moz.build40
1 files changed, 40 insertions, 0 deletions
diff --git a/system/memory/mozjemalloc/moz.build b/system/memory/mozjemalloc/moz.build
new file mode 100644
index 000000000..8ac0a62ff
--- /dev/null
+++ b/system/memory/mozjemalloc/moz.build
@@ -0,0 +1,40 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# 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',
+]
+
+SOURCES += [
+ 'jemalloc.c',
+]
+FINAL_LIBRARY = 'memory'
+
+# 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 += [
+ '../build',
+]
+
+if CONFIG['GNU_CC']:
+ # too many annoying warnings from mfbt/ headers
+ # also too many false positives from functions generated through rb_wrab from rb.h.
+ CFLAGS += ['-Wno-unused',
+ '-Wno-uninitialized']
+
+if CONFIG['_MSC_VER']:
+ CFLAGS += ['-wd4273'] # inconsistent dll linkage (bug 558163)