diff options
Diffstat (limited to 'memory/jemalloc/moz.build')
-rw-r--r-- | memory/jemalloc/moz.build | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/memory/jemalloc/moz.build b/memory/jemalloc/moz.build new file mode 100644 index 000000000..b7e2b661f --- /dev/null +++ b/memory/jemalloc/moz.build @@ -0,0 +1,81 @@ +# -*- 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/. + +UNIFIED_SOURCES += [ + 'src/src/arena.c', + 'src/src/atomic.c', + 'src/src/base.c', + 'src/src/bitmap.c', + 'src/src/chunk.c', + 'src/src/chunk_dss.c', + 'src/src/chunk_mmap.c', + 'src/src/ckh.c', + 'src/src/extent.c', + 'src/src/hash.c', + 'src/src/huge.c', + 'src/src/jemalloc.c', + 'src/src/mb.c', + 'src/src/mutex.c', + 'src/src/nstime.c', + 'src/src/pages.c', + 'src/src/prng.c', + 'src/src/prof.c', + 'src/src/quarantine.c', + 'src/src/rtree.c', + 'src/src/spin.c', + 'src/src/stats.c', + 'src/src/tcache.c', + 'src/src/ticker.c', + 'src/src/tsd.c', + 'src/src/util.c', + 'src/src/witness.c', +] + +SOURCES += [ + # This file cannot be built in unified mode because of symbol clash on arena_purge. + 'src/src/ctl.c', +] + +# Only OSX needs the zone allocation implementation, +# but only if replace-malloc is not enabled. +if CONFIG['OS_TARGET'] == 'Darwin' and not CONFIG['MOZ_REPLACE_MALLOC']: + UNIFIED_SOURCES += [ + 'src/src/zone.c', + ] + +if CONFIG['MOZ_JEMALLOC4']: + FINAL_LIBRARY = 'memory' +else: + FINAL_LIBRARY = 'replace_jemalloc' + +if CONFIG['MOZ_GLUE_IN_PROGRAM']: + SDK_LIBRARY = True + DIST_INSTALL = True + +if CONFIG['_MSC_VER']: + DEFINES['DLLEXPORT'] = True + LOCAL_INCLUDES += ['src/include/msvc_compat'] + if not CONFIG['HAVE_INTTYPES_H']: + LOCAL_INCLUDES += ['src/include/msvc_compat/C99'] + +if CONFIG['OS_TARGET'] == 'Linux': + # For mremap + DEFINES['_GNU_SOURCE'] = True + +if CONFIG['GNU_CC']: + CFLAGS += ['-std=gnu99'] + +DEFINES['abort'] = 'moz_abort' + +LOCAL_INCLUDES += [ + '!src/include', + 'src/include', +] + +# We allow warnings for third-party code that can be updated from upstream. +ALLOW_COMPILER_WARNINGS = True + +OS_LIBS += CONFIG['REALTIME_LIBS'] |