blob: 6d341e72197268d209f7e85d4e03351f25c82c1c [file] [log] [blame]
Alexei Frolov844ff0f2020-05-06 12:15:29 -07001# Copyright 2020 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
Armando Montanezfb3d3fb2020-06-09 18:12:12 -070015import("//build_overrides/pigweed.gni")
Wyatt Heplerd49f8fe2020-10-15 10:13:47 -070016
Alexei Frolov844ff0f2020-05-06 12:15:29 -070017declare_args() {
18 # Default configs and dependencies targets provided by the toolchain. These
19 # are applied to all of the pw_* target types. They are set from a toolchain's
20 # toolchain_args for cross-toolchain deps, e.g. for
21 #
22 # `deps = [ //pw_some_module(//pw_toolchain:not_default) ]`
23 #
24 # The default toolchain is never used.
25 default_configs = []
26 default_public_deps = []
Alexei Frolove9bc14b2020-06-15 10:25:10 -070027 remove_default_configs = []
Alexei Frolov844ff0f2020-05-06 12:15:29 -070028}
29
30# Combine target-specifc and target-agnostic default variables.
31_pw_build_defaults = {
32 configs = default_configs
33 public_deps = default_public_deps
34
35 # The target-agnostic defaults.
36 configs += [
37 "$dir_pw_build:colorize_output",
38 "$dir_pw_build:debugging",
39 "$dir_pw_build:reduced_size",
40 "$dir_pw_build:strict_warnings",
41 "$dir_pw_build:cpp17",
42 ]
Alexei Frolov3e7fe262020-09-17 12:25:46 -070043 public_deps += [ "$dir_pw_polyfill:overrides" ]
Alexei Frolov844ff0f2020-05-06 12:15:29 -070044}
45
46# One more pass, to remove configs
47pw_build_defaults = {
48 configs = []
Alexei Frolove9bc14b2020-06-15 10:25:10 -070049 forward_variables_from(_pw_build_defaults, "*")
50 if (remove_default_configs != []) {
Alexei Frolov844ff0f2020-05-06 12:15:29 -070051 # Add them first to ensure they are present to be removed.
Alexei Frolove9bc14b2020-06-15 10:25:10 -070052 configs += remove_default_configs
53 configs -= remove_default_configs
Alexei Frolov844ff0f2020-05-06 12:15:29 -070054 }
55}