toolkit/crashreporter/moz.build
author Masatoshi Kimura <VYV03354@nifty.ne.jp>
Tue, 31 Jul 2018 22:10:07 +0900
changeset 485348 997fd8419a4b28cdaaf3263e88dcad585ccfb101
parent 485234 4146a5857135b8542858b9e23bc5a71237e05f49
child 486027 42e2eeaca65d313926e962b6583d52d4bcab6d15
permissions -rw-r--r--
Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj

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

SPHINX_TREES['crashreporter'] = 'docs'

with Files('docs/**'):
    SCHEDULES.exclusive = ['docs']

EXPORTS += [
    'nsExceptionHandler.h',
]

JAR_MANIFESTS += ['jar.mn']

UNIFIED_SOURCES = [
    'nsExceptionHandlerUtils.cpp',
]

FINAL_LIBRARY = 'xul'

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

        if CONFIG['MSVC_HAS_DIA_SDK']:
            DIRS += ['google-breakpad/src/tools/windows/dump_syms']

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

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

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


    DIRS += [
        'client',
        'minidump-analyzer',
    ]

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

    if CONFIG['ENABLE_TESTS']:
        DIRS += ['test/gtest']

    TEST_DIRS += ['test']

    UNIFIED_SOURCES += [
        'nsExceptionHandler.cpp',
        'ThreadAnnotation.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')

    if CONFIG['OS_TARGET'] == 'Android':
        DEFINES['ANDROID_NDK_MAJOR_VERSION'] = CONFIG['ANDROID_NDK_MAJOR_VERSION']
        DEFINES['ANDROID_NDK_MINOR_VERSION'] = CONFIG['ANDROID_NDK_MINOR_VERSION']
        DEFINES['ANDROID_PACKAGE_NAME'] = '"%s"' % CONFIG['ANDROID_PACKAGE_NAME']
        # NDK5 workarounds
        DEFINES['_STLP_CONST_CONSTRUCTOR_BUG'] = True
        DEFINES['_STLP_NO_MEMBER_TEMPLATES'] = True
        LOCAL_INCLUDES += [
            '/toolkit/crashreporter/google-breakpad/src/common/android/include',
        ]

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

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

    PYTHON_UNITTEST_MANIFESTS += [
        'tools/python.ini',
    ]

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

    if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
        CXXFLAGS += ['-Wno-shadow']
else:
    UNIFIED_SOURCES += [
        'nsDummyExceptionHandler.cpp',
    ]


with Files('**'):
    BUG_COMPONENT = ('Toolkit', 'Crash Reporting')

if CONFIG['CC_TYPE'] == 'clang-cl':
    AllowCompilerWarnings()  # workaround for bug 1090497