diff options
Diffstat (limited to '')
-rw-r--r-- | toolkit/crashreporter/moz.build | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/toolkit/crashreporter/moz.build b/toolkit/crashreporter/moz.build new file mode 100644 index 0000000000..4e3b77caa7 --- /dev/null +++ b/toolkit/crashreporter/moz.build @@ -0,0 +1,139 @@ +# -*- 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 += [ + "!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 += [ + "breakpad-windows-libxul", + "google-breakpad/src/common", + "google-breakpad/src/processor", + "mozwer", + "mozwer-rust", + ] + + 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", + ] + + elif CONFIG["OS_ARCH"] == "Linux": + DIRS += [ + "breakpad-client", + "breakpad-client/linux/", + "google-breakpad/src/common", + "google-breakpad/src/common/linux", + "google-breakpad/src/processor", + ] + + if CONFIG["MOZ_OXIDIZED_BREAKPAD"]: + DIRS += ["rust_minidump_writer_linux"] + + if CONFIG["OS_TARGET"] != "Android": + DIRS += ["minidump-analyzer"] + + DIRS += [ + "client", + ] + + if CONFIG["MOZ_CRASHREPORTER_INJECTOR"]: + DIRS += ["injector"] + UNIFIED_SOURCES += [ + "InjectCrashReporter.cpp", + "LoadLibraryRemote.cpp", + ] + + TEST_DIRS += ["test"] + + UNIFIED_SOURCES += [ + "nsExceptionHandler.cpp", + ] + + if CONFIG["OS_ARCH"] == "Darwin": + UNIFIED_SOURCES += [ + "mac_utils.mm", + ] + + EXTRA_JS_MODULES += [ + "CrashReports.sys.mjs", + "CrashSubmit.sys.mjs", + ] + + 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 + + if CONFIG["MOZ_PHC"]: + DEFINES["MOZ_PHC"] = 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-error=stack-protector"] +else: + UNIFIED_SOURCES += [ + "nsDummyExceptionHandler.cpp", + ] + +# Generate CrashAnnotations.h +GeneratedFile( + "CrashAnnotations.h", + script="generate_crash_reporter_sources.py", + entry_point="emit_header", + inputs=[ + "CrashAnnotations.h.in", + "CrashAnnotations.yaml", + ], +) + +with Files("**"): + BUG_COMPONENT = ("Toolkit", "Crash Reporting") |