DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (cdf352f02ac4)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
# -*- 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/.
NoVisibilityFlags()

EXPORTS.mozilla += [
    'cxxalloc.h',
    'mozalloc.h',
    'mozalloc_abort.h',
    'mozalloc_oom.h',
]

if CONFIG['WRAP_STL_INCLUDES']:
    if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
        EXPORTS.mozilla += ['throw_gcc.h']
    elif CONFIG['CC_TYPE'] == 'clang-cl':
        DEFINES['_HAS_EXCEPTIONS'] = 0
        SOURCES += [
            'msvc_raise_wrappers.cpp',
        ]

if CONFIG['OS_TARGET'] == 'WINNT':
    # Keep this file separate to avoid #include'ing windows.h everywhere.
    SOURCES += [
        'winheap.cpp',
    ]

UNIFIED_SOURCES += [
    'mozalloc.cpp',
    'mozalloc_oom.cpp',
]

SOURCES += [
    'mozalloc_abort.cpp',
]

if CONFIG['MOZ_MEMORY']:
    # In MinGW, we don't want to actually export these functions out of the library
    # as the functions in libc++ correctly forward to jemalloc and exporting them
    # produces duplicate symbol errors.
    if not (CONFIG['CC_TYPE'] == 'clang' and CONFIG['OS_TARGET'] == 'WINNT'):
        SOURCES += [
            'cxxalloc.cpp',
        ]

if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['CC_TYPE'] == 'clang':
    SOURCES['mozalloc_abort.cpp'].flags += ['-Wno-infinite-recursion']

FINAL_LIBRARY = 'mozglue'

# The strndup declaration in string.h is in an ifdef __USE_GNU section
DEFINES['_GNU_SOURCE'] = True

DisableStlWrapping()

LOCAL_INCLUDES += [
    '!/xpcom',
    '/memory/build',
]

DIST_INSTALL = True