| # 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_is_in_starboard) { |
| 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", |
| ] |
| } |
| } |
| |
| if (!crashpad_is_in_starboard) { |
| 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_is_in_starboard) { |
| 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" ] |
| |
| libs = [ |
| "CoreFoundation.framework", |
| "Foundation.framework", |
| ] |
| |
| deps = [ |
| ":tool_support", |
| "../compat", |
| "../third_party/mini_chromium:base", |
| "../util", |
| ] |
| } |
| } |