# -*- Mode: python; c-basic-offset: 4; 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', ] 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_JEMALLOC4']: if not CONFIG['MOZ_NATIVE_JEMALLOC']: USE_LIBS += [ 'jemalloc', ] else: USE_LIBS += [ 'mozjemalloc', ] 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_NATIVE_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'] if CONFIG['GNU_CC']: CFLAGS += ['-Wshadow']