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")
|
|
|
|
|
2017-11-17 17:48:22 -08:00
|
|
|
static_library("client") {
|
|
|
|
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",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
2018-02-01 10:39:32 -08:00
|
|
|
if (crashpad_is_linux || crashpad_is_android) {
|
2018-03-26 17:26:08 -07:00
|
|
|
set_sources_assignment_filter([])
|
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
|
|
|
|
|
|
|
deps = [
|
2017-11-28 10:31:13 -08:00
|
|
|
"../compat",
|
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
|
|
|
]
|
|
|
|
|
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
|
|
|
|
2018-07-30 15:50:17 -07:00
|
|
|
if (crashpad_is_fuchsia) {
|
|
|
|
deps += [ "../third_party/fuchsia:zx" ]
|
|
|
|
if (crashpad_is_in_fuchsia) {
|
|
|
|
deps += [ "//zircon/public/lib/fdio" ]
|
|
|
|
}
|
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" ]
|
|
|
|
}
|
|
|
|
|
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",
|
2017-12-18 14:35:55 -08:00
|
|
|
"../third_party/gtest:gmock",
|
|
|
|
"../third_party/gtest:gtest",
|
|
|
|
"../third_party/mini_chromium:base",
|
2017-11-28 10:31:13 -08:00
|
|
|
"../util",
|
2017-11-17 17:48:22 -08:00
|
|
|
]
|
|
|
|
|
|
|
|
data_deps = [
|
2017-11-28 10:31:13 -08:00
|
|
|
"../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
|
|
|
}
|
|
|
|
}
|