# 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") source_set("tool_support") { sources = [ "tool_support.cc", "tool_support.h", ] public_configs = [ "..:crashpad_config" ] deps = [ "../third_party/mini_chromium:base" ] } if (!crashpad_is_ios) { crashpad_executable("crashpad_database_util") { sources = [ "crashpad_database_util.cc" ] deps = [ ":tool_support", "../build:default_exe_manifest_win", "../client", "../compat", "../third_party/mini_chromium:base", "../util", ] } crashpad_executable("crashpad_http_upload") { sources = [ "crashpad_http_upload.cc" ] deps = [ ":tool_support", "../build:default_exe_manifest_win", "../compat", "../third_party/mini_chromium:base", "../util", ] } } crashpad_executable("base94_encoder") { sources = [ "base94_encoder.cc" ] deps = [ ":tool_support", "../build:default_exe_manifest_win", "../third_party/mini_chromium:base", "../util", ] } if (!crashpad_is_fuchsia && !crashpad_is_ios) { crashpad_executable("generate_dump") { sources = [ "generate_dump.cc" ] deps = [ ":tool_support", "../build:default_exe_manifest_win", "../compat", "../minidump", "../snapshot", "../third_party/mini_chromium:base", "../util", ] if (crashpad_is_mac) { # This would be better as a config so that it could be shared with # exception_port_tool, but configs can’t alter “inputs”. # https://crbug.com/781858. inputs = [ "mac/sectaskaccess_info.plist" ] ldflags = [ "-sectcreate", "__TEXT", "__info_plist", rebase_path(inputs[0], root_build_dir), ] } if (crashpad_is_win) { cflags = [ "/wd4201" ] # nonstandard extension used : nameless struct/union } } } if (crashpad_is_mac || crashpad_is_fuchsia) { crashpad_executable("run_with_crashpad") { sources = [ "run_with_crashpad.cc" ] deps = [ ":tool_support", "../client", "../compat", "../third_party/mini_chromium:base", "../util", ] } } if (crashpad_is_mac) { crashpad_executable("catch_exception_tool") { sources = [ "mac/catch_exception_tool.cc" ] deps = [ ":tool_support", "../compat", "../third_party/mini_chromium:base", "../util", ] } crashpad_executable("exception_port_tool") { sources = [ "mac/exception_port_tool.cc" ] # This would be better as a config so that it could be shared with # generate_dump, but configs can’t alter “inputs”. https://crbug.com/781858. inputs = [ "mac/sectaskaccess_info.plist" ] ldflags = [ "-sectcreate", "__TEXT", "__info_plist", rebase_path(inputs[0], root_build_dir), ] deps = [ ":tool_support", "../compat", "../third_party/mini_chromium:base", "../util", ] } crashpad_executable("on_demand_service_tool") { sources = [ "mac/on_demand_service_tool.mm" ] frameworks = [ "CoreFoundation.framework", "Foundation.framework", ] deps = [ ":tool_support", "../compat", "../third_party/mini_chromium:base", "../util", ] } }