# -*- 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/. 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/pages.c', 'src/src/prof.c', 'src/src/quarantine.c', 'src/src/rtree.c', 'src/src/stats.c', 'src/src/tcache.c', 'src/src/tsd.c', 'src/src/util.c', # FIXME do we ever want valgrind.c? # 'src/src/valgrind.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', ] Library('jemalloc') FORCE_STATIC_LIB = True 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['MOZ_NUWA_PROCESS'] and CONFIG['MOZ_JEMALLOC4']: DEFINES['pthread_mutex_lock'] = '__real_pthread_mutex_lock' 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