gecko-dev/toolkit/crashreporter/moz.build

144 строки
3.8 KiB
Python

# -*- 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']
GENERATED_FILES += [
'CrashAnnotations.h',
]
EXPORTS += [
'!CrashAnnotations.h',
'nsExceptionHandler.h',
]
JAR_MANIFESTS += ['jar.mn']
UNIFIED_SOURCES = [
'CrashAnnotations.cpp',
'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['WIN_DIA_SDK_BIN_DIR']:
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',
]
# Generate CrashAnnotations.h
crash_annotations = GENERATED_FILES['CrashAnnotations.h']
crash_annotations.script = 'generate_crash_reporter_sources.py:emit_header'
crash_annotations.inputs = [
'CrashAnnotations.h.in',
'CrashAnnotations.yaml',
]
with Files('**'):
BUG_COMPONENT = ('Toolkit', 'Crash Reporting')