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 (fddffdeab170)

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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
# -*- 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/.

SPHINX_TREES['crashreporter'] = 'docs'

if CONFIG['OS_ARCH'] == 'WINNT':
    DIRS += [
    'google-breakpad/src/common',
    'google-breakpad/src/processor',
    'breakpad-windows-libxul'
    ]

    if CONFIG['MOZ_CRASHREPORTER_INJECTOR']:
        DIRS += ['breakpad-windows-standalone']

elif CONFIG['OS_ARCH'] == 'Darwin':
    DIRS += [
        'google-breakpad/src/common',
        'google-breakpad/src/common/mac',
        'google-breakpad/src/client',
        'google-breakpad/src/client/mac/crash_generation',
        'google-breakpad/src/client/mac/handler',
        'google-breakpad/src/processor',
        'google-breakpad/src/tools/mac/dump_syms',
    ]

elif CONFIG['OS_ARCH'] == 'Linux':
    DIRS += [
        'google-breakpad/src/common',
        'google-breakpad/src/common/linux',
        'google-breakpad/src/client',
        'google-breakpad/src/client/linux/crash_generation',
        'google-breakpad/src/client/linux/handler',
        'google-breakpad/src/client/linux/minidump_writer',
        'google-breakpad/src/processor',
        'google-breakpad/src/tools/linux/dump_syms',
    ]

elif CONFIG['OS_ARCH'] == 'SunOS':
    DIRS += [
        'google-breakpad/src/common',
        'google-breakpad/src/common/solaris',
        'google-breakpad/src/client',
        'google-breakpad/src/client/solaris/handler',
        'google-breakpad/src/tools/solaris/dump_syms',
    ]

DIRS += [
    'breakpad-logging',
    'client',
]

if CONFIG['MOZ_CRASHREPORTER_INJECTOR']:
    DIRS += ['injector']
    UNIFIED_SOURCES += [
        'InjectCrashReporter.cpp',
        'LoadLibraryRemote.cpp',
    ]

TEST_DIRS += ['test']

EXPORTS += [
    'nsExceptionHandler.h',
]

UNIFIED_SOURCES += [
    'nsExceptionHandler.cpp',
]

if CONFIG['OS_ARCH'] == 'Darwin':
    UNIFIED_SOURCES += [
        'mac_utils.mm',
    ]

EXTRA_JS_MODULES += [
    'CrashReports.jsm',
    'CrashSubmit.jsm',
    'KeyValueParser.jsm',
]

include('/ipc/chromium/chromium-config.mozbuild')

FINAL_LIBRARY = 'xul'

if CONFIG['OS_TARGET'] == 'Android':
    DEFINES['ANDROID_PACKAGE_NAME'] = '"%s"' % CONFIG['ANDROID_PACKAGE_NAME']
    # NDK5 workarounds
    DEFINES['_STLP_CONST_CONSTRUCTOR_BUG'] = True
    DEFINES['_STLP_NO_MEMBER_TEMPLATES'] = True

if CONFIG['OS_ARCH'] == 'SunOS':
    # there's no define for this normally
    DEFINES['XP_SOLARIS'] = True

DEFINES['UNICODE'] = True
DEFINES['_UNICODE'] = True

JAR_MANIFESTS += ['jar.mn']

LOCAL_INCLUDES += [
    'google-breakpad/src',
]

include('/toolkit/crashreporter/crashreporter.mozbuild')

with Files('**'):
    BUG_COMPONENT = ('Toolkit', 'Breakpad Integration')