| # -*- 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 |