Chromium Code Reviews| Index: gn/BUILDCONFIG.gn |
| diff --git a/gn/BUILDCONFIG.gn b/gn/BUILDCONFIG.gn |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..31056bda5f1b9ad11ef66d7a3a8d5a4a8cf425df |
| --- /dev/null |
| +++ b/gn/BUILDCONFIG.gn |
| @@ -0,0 +1,69 @@ |
| +# Copyright 2016 Google Inc. |
|
jcgregorio
2016/07/21 18:51:56
Does BUILDCONFIG.gn implicitly load the BUILD.gn i
mtklein
2016/07/21 19:24:35
Nope, but that's what we're getting when we use ta
|
| +# |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +# It's best to keep the names and defaults of is_foo flags consistent with Chrome. |
| + |
| +declare_args() { |
| + is_debug = true |
| + is_component_build = false |
| +} |
| + |
| +# Platform detection |
| +if (target_os == "") { |
| + target_os = host_os |
| +} |
| +if (current_os == "") { |
| + current_os = target_os |
| +} |
| + |
| +is_android = current_os == "android" |
| +is_fuchsia = current_os == "fuchsia" |
| +is_ios = current_os == "ios" |
| +is_linux = current_os == "linux" |
| +is_mac = current_os == "mac" |
| +is_win = current_os == "win" |
| + |
| +is_posix = !is_win |
| + |
| +# A component is either a source_set or a shared_library. |
| +template("component") { |
| + _component_mode = "source_set" |
| + if (is_component_build) { |
| + _component_mode = "shared_library" |
| + } |
| + |
| + target(_component_mode, target_name) { |
| + forward_variables_from(invoker, "*") |
| + } |
| +} |
| + |
| +# Default configs |
| +_default_configs = [ "//gn:default" ] |
| +if (!is_debug) { |
| + _default_configs += [ "//gn:release" ] |
| +} |
| + |
| +set_defaults("executable") { |
| + configs = _default_configs + [ "//gn:executable" ] |
| +} |
| + |
| +set_defaults("source_set") { |
| + configs = _default_configs |
| +} |
| + |
| +set_defaults("static_library") { |
| + configs = _default_configs |
| +} |
| + |
| +set_defaults("shared_library") { |
| + configs = _default_configs |
| +} |
| + |
| +set_defaults("component") { |
| + configs = _default_configs |
| +} |
| + |
| +# For now, we support GCC-like toolchains, including Clang. |
| +set_default_toolchain("//gn:gcc_like") |