summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/crashreporter/moz.build')
-rw-r--r--toolkit/crashreporter/moz.build122
1 files changed, 122 insertions, 0 deletions
diff --git a/toolkit/crashreporter/moz.build b/toolkit/crashreporter/moz.build
new file mode 100644
index 000000000..037ec43a5
--- /dev/null
+++ b/toolkit/crashreporter/moz.build
@@ -0,0 +1,122 @@
+# -*- 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'
+
+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 += [
+ '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/',
+ '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 += [
+ 'client',
+ 'jsoncpp/src/lib_json',
+ 'minidump-analyzer',
+]
+
+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
+ LOCAL_INCLUDES += [
+ '/toolkit/crashreporter/google-breakpad/src/common/android/include',
+ ]
+
+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',
+]
+
+PYTHON_UNIT_TESTS += [
+ 'tools/unit-symbolstore.py',
+]
+
+include('/toolkit/crashreporter/crashreporter.mozbuild')
+
+with Files('**'):
+ BUG_COMPONENT = ('Toolkit', 'Breakpad Integration')
+
+if CONFIG['GNU_CXX']:
+ CXXFLAGS += ['-Wno-shadow']