mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-28 15:50:26 +08:00
40cd1b72cf
This migrates all the logic that used to live in ios/snapshots that gathers all the various information during an exception. Everything in InProcessIntermediateDumpHandler is considered `RUNS-DURING-CRASH`. Change-Id: Icc47c9de0f66be2b14a46a13d1038176082a3218 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2920547 Commit-Queue: Justin Cohen <justincohen@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org>
205 lines
4.7 KiB
Plaintext
205 lines
4.7 KiB
Plaintext
# Copyright 2015 The Crashpad Authors. All rights reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import("../build/crashpad_buildconfig.gni")
|
|
|
|
crashpad_static_library("client") {
|
|
sources = [
|
|
"crashpad_client.h",
|
|
"prune_crash_reports.cc",
|
|
"prune_crash_reports.h",
|
|
"simulate_crash.h",
|
|
]
|
|
|
|
if (crashpad_is_mac) {
|
|
sources += [
|
|
"crashpad_client_mac.cc",
|
|
"simulate_crash_mac.cc",
|
|
"simulate_crash_mac.h",
|
|
]
|
|
}
|
|
|
|
if (crashpad_is_ios) {
|
|
sources += [
|
|
"crashpad_client_ios.cc",
|
|
"ios_handler/exception_processor.h",
|
|
"ios_handler/exception_processor.mm",
|
|
"ios_handler/in_process_intermediate_dump_handler.cc",
|
|
"ios_handler/in_process_intermediate_dump_handler.h",
|
|
"simulate_crash_ios.h",
|
|
]
|
|
}
|
|
|
|
if (crashpad_is_linux || crashpad_is_android) {
|
|
sources += [
|
|
"crashpad_client_linux.cc",
|
|
"simulate_crash_linux.h",
|
|
]
|
|
}
|
|
|
|
if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) {
|
|
sources += [
|
|
"client_argv_handling.cc",
|
|
"client_argv_handling.h",
|
|
]
|
|
}
|
|
|
|
if (crashpad_is_win) {
|
|
sources += [
|
|
"crashpad_client_win.cc",
|
|
"simulate_crash_win.h",
|
|
]
|
|
}
|
|
|
|
if (crashpad_is_fuchsia) {
|
|
sources += [ "crashpad_client_fuchsia.cc" ]
|
|
}
|
|
|
|
public_configs = [ "..:crashpad_config" ]
|
|
|
|
public_deps = [
|
|
":common",
|
|
"$mini_chromium_source_parent:base",
|
|
"../util",
|
|
]
|
|
|
|
deps = [
|
|
":common",
|
|
"$mini_chromium_source_parent:chromeos_buildflags",
|
|
]
|
|
|
|
if (crashpad_is_win) {
|
|
libs = [ "rpcrt4.lib" ]
|
|
cflags = [ "/wd4201" ] # nonstandard extension used : nameless struct/union
|
|
}
|
|
|
|
# TODO(justincohen): Temporary dependency to bring up the iOS client.
|
|
if (crashpad_is_ios) {
|
|
deps += [
|
|
"../handler:common",
|
|
"../minidump",
|
|
"../snapshot",
|
|
]
|
|
}
|
|
|
|
if (crashpad_is_linux || crashpad_is_android) {
|
|
deps += [ "../third_party/lss" ]
|
|
}
|
|
|
|
if (crashpad_is_fuchsia) {
|
|
deps += [ "../third_party/fuchsia" ]
|
|
if (crashpad_is_in_fuchsia) {
|
|
deps += [ "//sdk/lib/fdio" ]
|
|
}
|
|
}
|
|
}
|
|
|
|
static_library("common") {
|
|
sources = [
|
|
"annotation.cc",
|
|
"annotation.h",
|
|
"annotation_list.cc",
|
|
"annotation_list.h",
|
|
"crash_report_database.cc",
|
|
"crash_report_database.h",
|
|
"crashpad_info.cc",
|
|
"crashpad_info.h",
|
|
"settings.cc",
|
|
"settings.h",
|
|
"simple_address_range_bag.h",
|
|
"simple_string_dictionary.h",
|
|
]
|
|
|
|
if (crashpad_is_mac || crashpad_is_ios) {
|
|
sources += [ "crash_report_database_mac.mm" ]
|
|
}
|
|
if (crashpad_is_win) {
|
|
sources += [ "crash_report_database_win.cc" ]
|
|
}
|
|
if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) {
|
|
sources += [
|
|
"crash_report_database_generic.cc",
|
|
"crashpad_info_note.S",
|
|
]
|
|
}
|
|
|
|
public_configs = [ "..:crashpad_config" ]
|
|
public_deps = [
|
|
"$mini_chromium_source_parent:base",
|
|
"../util",
|
|
]
|
|
deps = [ "../util" ]
|
|
}
|
|
|
|
source_set("client_test") {
|
|
testonly = true
|
|
|
|
sources = [
|
|
"annotation_list_test.cc",
|
|
"annotation_test.cc",
|
|
"crash_report_database_test.cc",
|
|
"prune_crash_reports_test.cc",
|
|
"settings_test.cc",
|
|
"simple_address_range_bag_test.cc",
|
|
"simple_string_dictionary_test.cc",
|
|
]
|
|
|
|
if (crashpad_is_mac) {
|
|
sources += [ "simulate_crash_mac_test.cc" ]
|
|
}
|
|
|
|
if (crashpad_is_win) {
|
|
sources += [ "crashpad_client_win_test.cc" ]
|
|
}
|
|
|
|
if (crashpad_is_ios) {
|
|
sources += [
|
|
"crashpad_client_ios_test.mm",
|
|
"ios_handler/exception_processor_test.mm",
|
|
"ios_handler/in_process_intermediate_dump_handler_test.cc",
|
|
]
|
|
}
|
|
|
|
if (crashpad_is_linux || crashpad_is_android) {
|
|
sources += [ "crashpad_client_linux_test.cc" ]
|
|
}
|
|
|
|
deps = [
|
|
":client",
|
|
"$mini_chromium_source_parent:base",
|
|
"../compat",
|
|
"../snapshot",
|
|
"../test",
|
|
"../third_party/googletest:googlemock",
|
|
"../third_party/googletest:googletest",
|
|
"../util",
|
|
]
|
|
|
|
if (!crashpad_is_ios && !crashpad_is_fuchsia) {
|
|
data_deps = [ "../handler:crashpad_handler" ]
|
|
}
|
|
|
|
if (crashpad_is_win) {
|
|
data_deps += [ "../handler:crashpad_handler_console" ]
|
|
}
|
|
}
|
|
|
|
if (crashpad_is_linux || crashpad_is_android) {
|
|
source_set("pthread_create") {
|
|
sources = [ "pthread_create_linux.cc" ]
|
|
|
|
deps = [ ":client" ]
|
|
}
|
|
}
|