diff options
Diffstat (limited to 'memory/build/moz.build')
-rw-r--r-- | memory/build/moz.build | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/memory/build/moz.build b/memory/build/moz.build new file mode 100644 index 000000000..8d80561b1 --- /dev/null +++ b/memory/build/moz.build @@ -0,0 +1,55 @@ +# -*- 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 += [ + 'mozmemory.h', + 'mozmemory_wrap.h', +] + +LIBRARY_DEFINES['MOZ_HAS_MOZGLUE'] = True +DEFINES['MOZ_MEMORY_IMPL'] = True + +if CONFIG['MOZ_REPLACE_MALLOC']: + EXPORTS += [ + 'malloc_decls.h', + 'replace_malloc.h', + 'replace_malloc_bridge.h', + ] + +SOURCES += [ + 'jemalloc_config.cpp', + 'mozmemory_wrap.c', +] + +if CONFIG['MOZ_JEMALLOC4']: + SOURCES += [ + 'mozjemalloc_compat.c', + ] + LOCAL_INCLUDES += ['!../jemalloc/src/include'] + if CONFIG['_MSC_VER']: + LOCAL_INCLUDES += ['/memory/jemalloc/src/include/msvc_compat'] + if not CONFIG['HAVE_INTTYPES_H']: + LOCAL_INCLUDES += ['/memory/jemalloc/src/include/msvc_compat/C99'] + +if CONFIG['MOZ_REPLACE_MALLOC']: + SOURCES += [ + 'replace_malloc.c', + ] + +Library('memory') + +if CONFIG['MOZ_GLUE_IN_PROGRAM']: + SDK_LIBRARY = True + DIST_INSTALL = True + +# Keep jemalloc separated when mozglue is statically linked +if CONFIG['MOZ_MEMORY'] and (CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') or + CONFIG['MOZ_SYSTEM_JEMALLOC']): + FINAL_LIBRARY = 'mozglue' + +if CONFIG['MOZ_REPLACE_MALLOC'] and CONFIG['OS_TARGET'] == 'Darwin': + # The zone allocator for OSX needs some jemalloc internal functions + LOCAL_INCLUDES += ['/memory/jemalloc/src/include'] |