| # Copyright 2017 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. |
| |
| # Intentionally very minimal, so that Crashpad can build in-tree in a variety of |
| # other projects, unrelated to the variables that are set in those projects' |
| # BUILDCONFIG.gn. Do not add more variables here. Instead, make them available |
| # in build/crashpad_buildconfig.gni if they must be globally available. |
| |
| if (target_os == "") { |
| target_os = host_os |
| } |
| |
| if (current_os == "") { |
| current_os = target_os |
| } |
| |
| if (target_cpu == "") { |
| target_cpu = host_cpu |
| } |
| |
| if (current_cpu == "") { |
| current_cpu = target_cpu |
| } |
| |
| if (current_os == "win") { |
| set_default_toolchain( |
| "//third_party/mini_chromium/mini_chromium/build:msvc_toolchain_$current_cpu") |
| } else { |
| set_default_toolchain( |
| "//third_party/mini_chromium/mini_chromium/build:gcc_like_toolchain") |
| } |
| |
| declare_args() { |
| # When true, enables the debug configuration, with additional run-time checks |
| # and logging. When false, enables the release configuration, with additional |
| # optimizations. |
| is_debug = false |
| |
| # When true, build all code with -fsanitize=fuzzer, and enable various |
| # *_fuzzer targets. |
| crashpad_use_libfuzzer = false |
| } |
| |
| _default_configs = [ |
| "//third_party/mini_chromium/mini_chromium/build:default", |
| "//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors", |
| "//third_party/mini_chromium/mini_chromium/build:Wimplicit_fallthrough", |
| ] |
| |
| if (crashpad_use_libfuzzer) { |
| _default_configs += [ "//build:crashpad_fuzzer_flags" ] |
| } |
| |
| _default_executable_configs = |
| _default_configs + [ |
| "//third_party/mini_chromium/mini_chromium/build:executable", |
| "//third_party/mini_chromium/mini_chromium/build:win_console", |
| ] |
| |
| set_defaults("source_set") { |
| configs = _default_configs |
| } |
| |
| set_defaults("static_library") { |
| configs = _default_configs |
| } |
| |
| set_defaults("executable") { |
| configs = _default_executable_configs |
| } |
| |
| set_defaults("loadable_module") { |
| configs = _default_configs |
| } |
| |
| set_defaults("shared_library") { |
| configs = _default_configs |
| } |
| |
| set_defaults("test") { |
| configs = _default_executable_configs |
| } |