| # Copyright 2018 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//components/gwp_asan/buildflags/buildflags.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| |
| static_library("crash_handler") { |
| sources = [ |
| "crash_analyzer.cc", |
| "crash_analyzer.h", |
| "crash_handler.cc", |
| "crash_handler.h", |
| ] |
| |
| deps = [ |
| ":crash_proto", |
| "//base", |
| "//components/gwp_asan/common", |
| "//third_party/crashpad/crashpad/client", |
| "//third_party/crashpad/crashpad/handler", |
| "//third_party/crashpad/crashpad/minidump", |
| "//third_party/crashpad/crashpad/snapshot", |
| "//third_party/crashpad/crashpad/util", |
| "//third_party/protobuf:protobuf_lite", |
| ] |
| } |
| |
| proto_library("crash_proto") { |
| sources = [ |
| "crash.proto", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "crash_analyzer_unittest.cc", |
| ] |
| |
| deps = [ |
| ":crash_handler", |
| ":crash_proto", |
| "//base/test:test_support", |
| "//components/gwp_asan/client", |
| "//components/gwp_asan/common", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/crashpad/crashpad/client", |
| "//third_party/crashpad/crashpad/snapshot", |
| "//third_party/crashpad/crashpad/snapshot:test_support", |
| "//third_party/crashpad/crashpad/test", |
| "//third_party/crashpad/crashpad/util", |
| "//third_party/protobuf:protobuf_lite", |
| ] |
| |
| if (!is_android || enable_gwp_asan) { |
| sources += [ "crash_handler_unittest.cc" ] |
| deps += [ |
| "//third_party/crashpad/crashpad/handler", |
| "//third_party/crashpad/crashpad/minidump", |
| "//third_party/crashpad/crashpad/tools:tool_support", |
| ] |
| |
| if (is_android) { |
| metadata = { |
| shared_libraries = [ "$root_out_dir/libchrome_crashpad_handler.so" ] |
| } |
| deps += [ |
| "//components/crash/content/app:chrome_crashpad_handler_named_as_so", |
| ] |
| } |
| } |
| } |