2017-11-17 17:48:22 -08:00
|
|
|
# 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.
|
|
|
|
|
2017-12-19 15:31:04 -08:00
|
|
|
import("../build/crashpad_buildconfig.gni")
|
|
|
|
|
2020-09-14 14:22:05 -07:00
|
|
|
crashpad_static_library("client") {
|
2017-11-17 17:48:22 -08:00
|
|
|
sources = [
|
|
|
|
"annotation.cc",
|
|
|
|
"annotation.h",
|
|
|
|
"annotation_list.cc",
|
|
|
|
"annotation_list.h",
|
|
|
|
"crash_report_database.cc",
|
|
|
|
"crash_report_database.h",
|
|
|
|
"crashpad_client.h",
|
|
|
|
"crashpad_info.cc",
|
|
|
|
"crashpad_info.h",
|
|
|
|
"prune_crash_reports.cc",
|
|
|
|
"prune_crash_reports.h",
|
|
|
|
"settings.cc",
|
|
|
|
"settings.h",
|
|
|
|
"simple_address_range_bag.h",
|
|
|
|
"simple_string_dictionary.h",
|
|
|
|
"simulate_crash.h",
|
|
|
|
]
|
|
|
|
|
2017-12-19 15:31:04 -08:00
|
|
|
if (crashpad_is_mac) {
|
2017-11-17 17:48:22 -08:00
|
|
|
sources += [
|
2017-11-29 11:59:18 -08:00
|
|
|
"crash_report_database_mac.mm",
|
|
|
|
"crashpad_client_mac.cc",
|
|
|
|
"simulate_crash_mac.cc",
|
|
|
|
"simulate_crash_mac.h",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2020-02-18 14:49:10 -05:00
|
|
|
if (crashpad_is_ios) {
|
2020-03-25 16:12:22 -04:00
|
|
|
sources += [
|
|
|
|
"crash_report_database_mac.mm",
|
|
|
|
"crashpad_client_ios.cc",
|
2021-02-02 09:02:28 -05:00
|
|
|
"simulate_crash_ios.h",
|
2020-03-25 16:12:22 -04:00
|
|
|
]
|
2020-02-18 14:49:10 -05:00
|
|
|
}
|
|
|
|
|
2018-02-01 10:39:32 -08:00
|
|
|
if (crashpad_is_linux || crashpad_is_android) {
|
2018-02-20 16:16:22 -08:00
|
|
|
sources += [
|
|
|
|
"crashpad_client_linux.cc",
|
|
|
|
"simulate_crash_linux.h",
|
|
|
|
]
|
2018-02-01 10:39:32 -08:00
|
|
|
}
|
|
|
|
|
2018-02-15 10:38:36 -08:00
|
|
|
if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) {
|
2018-04-09 14:21:06 -07:00
|
|
|
sources += [
|
|
|
|
"client_argv_handling.cc",
|
|
|
|
"client_argv_handling.h",
|
|
|
|
"crashpad_info_note.S",
|
|
|
|
]
|
2018-02-15 10:38:36 -08:00
|
|
|
}
|
|
|
|
|
2017-12-19 15:31:04 -08:00
|
|
|
if (crashpad_is_win) {
|
2017-11-29 11:59:18 -08:00
|
|
|
sources += [
|
|
|
|
"crash_report_database_win.cc",
|
|
|
|
"crashpad_client_win.cc",
|
|
|
|
"simulate_crash_win.h",
|
2017-11-17 17:48:22 -08:00
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2017-12-19 15:31:04 -08:00
|
|
|
if (crashpad_is_fuchsia) {
|
2018-04-09 14:21:06 -07:00
|
|
|
sources += [ "crashpad_client_fuchsia.cc" ]
|
2017-12-06 10:08:11 -08:00
|
|
|
}
|
|
|
|
|
2018-02-15 11:10:10 -08:00
|
|
|
if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) {
|
|
|
|
sources += [ "crash_report_database_generic.cc" ]
|
|
|
|
}
|
|
|
|
|
2017-11-28 10:31:13 -08:00
|
|
|
public_configs = [ "..:crashpad_config" ]
|
2017-11-17 17:48:22 -08:00
|
|
|
|
2018-10-16 10:49:43 -07:00
|
|
|
public_deps = [
|
2017-12-18 14:35:55 -08:00
|
|
|
"../third_party/mini_chromium:base",
|
2017-11-28 10:31:13 -08:00
|
|
|
"../util",
|
2017-11-17 17:48:22 -08:00
|
|
|
]
|
|
|
|
|
2021-01-12 13:45:14 -08:00
|
|
|
deps = [ "../third_party/mini_chromium:chromeos_buildflags" ]
|
|
|
|
|
2017-12-19 15:31:04 -08:00
|
|
|
if (crashpad_is_win) {
|
2017-11-17 17:48:22 -08:00
|
|
|
libs = [ "rpcrt4.lib" ]
|
|
|
|
cflags = [ "/wd4201" ] # nonstandard extension used : nameless struct/union
|
|
|
|
}
|
2018-05-04 12:20:52 -07:00
|
|
|
|
2020-03-04 15:19:46 -05:00
|
|
|
# TODO(justincohen): Temporary dependency to bring up the iOS client.
|
|
|
|
if (crashpad_is_ios) {
|
2020-03-25 16:12:22 -04:00
|
|
|
deps += [
|
|
|
|
"../minidump",
|
|
|
|
"../snapshot",
|
|
|
|
]
|
2020-03-04 15:19:46 -05:00
|
|
|
}
|
|
|
|
|
2019-04-08 17:28:18 -07:00
|
|
|
if (crashpad_is_linux || crashpad_is_android) {
|
2020-01-23 08:00:33 -05:00
|
|
|
deps += [ "../third_party/lss" ]
|
2019-04-08 17:28:18 -07:00
|
|
|
}
|
|
|
|
|
2018-07-30 15:50:17 -07:00
|
|
|
if (crashpad_is_fuchsia) {
|
2020-01-23 08:00:33 -05:00
|
|
|
deps += [ "../third_party/fuchsia" ]
|
2018-07-30 15:50:17 -07:00
|
|
|
if (crashpad_is_in_fuchsia) {
|
2020-06-18 16:28:23 -07:00
|
|
|
deps += [ "//sdk/lib/fdio" ]
|
2018-07-30 15:50:17 -07:00
|
|
|
}
|
2018-05-04 12:20:52 -07:00
|
|
|
}
|
2017-11-17 17:48:22 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
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",
|
|
|
|
]
|
|
|
|
|
2017-12-19 15:31:04 -08:00
|
|
|
if (crashpad_is_mac) {
|
2018-02-08 16:25:22 -08:00
|
|
|
sources += [ "simulate_crash_mac_test.cc" ]
|
2017-11-17 17:48:22 -08:00
|
|
|
}
|
|
|
|
|
2017-12-19 15:31:04 -08:00
|
|
|
if (crashpad_is_win) {
|
2017-11-17 17:48:22 -08:00
|
|
|
sources += [ "crashpad_client_win_test.cc" ]
|
|
|
|
}
|
|
|
|
|
2020-03-04 15:19:46 -05:00
|
|
|
if (crashpad_is_ios) {
|
2020-04-08 15:37:55 -04:00
|
|
|
sources += [ "crashpad_client_ios_test.mm" ]
|
2020-03-04 15:19:46 -05:00
|
|
|
sources -= [
|
|
|
|
"annotation_list_test.cc",
|
|
|
|
"annotation_test.cc",
|
|
|
|
"crash_report_database_test.cc",
|
|
|
|
"prune_crash_reports_test.cc",
|
|
|
|
"settings_test.cc",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2018-02-22 13:29:05 -08:00
|
|
|
if (crashpad_is_linux || crashpad_is_android) {
|
|
|
|
sources += [ "crashpad_client_linux_test.cc" ]
|
|
|
|
}
|
|
|
|
|
2017-11-17 17:48:22 -08:00
|
|
|
deps = [
|
|
|
|
":client",
|
2017-11-28 10:31:13 -08:00
|
|
|
"../compat",
|
2018-05-10 17:15:59 -07:00
|
|
|
"../snapshot",
|
2017-11-28 10:31:13 -08:00
|
|
|
"../test",
|
2020-05-06 20:39:19 -04:00
|
|
|
"../third_party/googletest:googlemock",
|
|
|
|
"../third_party/googletest:googletest",
|
2017-12-18 14:35:55 -08:00
|
|
|
"../third_party/mini_chromium:base",
|
2017-11-28 10:31:13 -08:00
|
|
|
"../util",
|
2017-11-17 17:48:22 -08:00
|
|
|
]
|
|
|
|
|
2020-04-24 14:32:54 -07:00
|
|
|
if (!crashpad_is_ios && !crashpad_is_fuchsia) {
|
2020-02-18 14:49:10 -05:00
|
|
|
data_deps = [ "../handler:crashpad_handler" ]
|
|
|
|
}
|
2017-11-17 17:48:22 -08:00
|
|
|
|
2017-12-19 15:31:04 -08:00
|
|
|
if (crashpad_is_win) {
|
2017-11-28 10:31:13 -08:00
|
|
|
data_deps += [ "../handler:crashpad_handler_console" ]
|
2017-11-17 17:48:22 -08:00
|
|
|
}
|
|
|
|
}
|
2020-07-15 11:26:08 -07:00
|
|
|
|
|
|
|
if (crashpad_is_linux || crashpad_is_android) {
|
|
|
|
source_set("pthread_create") {
|
|
|
|
sources = [ "pthread_create_linux.cc" ]
|
|
|
|
|
|
|
|
deps = [ ":client" ]
|
|
|
|
}
|
|
|
|
}
|