xref: /aosp_15_r20/external/pigweed/pw_build/gn_internal/defaults.gni (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker# Copyright 2023 The Pigweed Authors
2*61c4878aSAndroid Build Coastguard Worker#
3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of
5*61c4878aSAndroid Build Coastguard Worker# the License at
6*61c4878aSAndroid Build Coastguard Worker#
7*61c4878aSAndroid Build Coastguard Worker#     https://www.apache.org/licenses/LICENSE-2.0
8*61c4878aSAndroid Build Coastguard Worker#
9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under
13*61c4878aSAndroid Build Coastguard Worker# the License.
14*61c4878aSAndroid Build Coastguard Worker
15*61c4878aSAndroid Build Coastguard Worker# DO NOT IMPORT THIS .gni FILE DIRECTLY! Use "$dir_pw_build/defaults.gni"!
16*61c4878aSAndroid Build Coastguard Worker#
17*61c4878aSAndroid Build Coastguard Worker# When these variables were originally created, Pigweed did not have a widely
18*61c4878aSAndroid Build Coastguard Worker# adopted naming pattern for build arguments declared by GN. For backwards
19*61c4878aSAndroid Build Coastguard Worker# compatibility, these arguments will retain their naming.
20*61c4878aSAndroid Build Coastguard Worker#
21*61c4878aSAndroid Build Coastguard Worker# Unfortunately, there's two problems with this:
22*61c4878aSAndroid Build Coastguard Worker#
23*61c4878aSAndroid Build Coastguard Worker#   1. It's not clear these variables come from Pigweed since they don't follow
24*61c4878aSAndroid Build Coastguard Worker#      the established naming patterns.
25*61c4878aSAndroid Build Coastguard Worker#   2. The names conflict with the attributes of pw_* wrapped targets, which
26*61c4878aSAndroid Build Coastguard Worker#      means you'll get confusing behavior if this declare_args() block gets
27*61c4878aSAndroid Build Coastguard Worker#      imported into the context of a regular build file. That is why this
28*61c4878aSAndroid Build Coastguard Worker#      .gni file is imported into a scope rather than handled like a regular
29*61c4878aSAndroid Build Coastguard Worker#      import. It truly is an amusing workaround, but it works.
30*61c4878aSAndroid Build Coastguard Worker#
31*61c4878aSAndroid Build Coastguard Worker# While it's possible to migrate away from these names, it's unlikely that will
32*61c4878aSAndroid Build Coastguard Worker# ever happen.
33*61c4878aSAndroid Build Coastguard Workerdeclare_args() {
34*61c4878aSAndroid Build Coastguard Worker  default_configs = []
35*61c4878aSAndroid Build Coastguard Worker  default_public_deps = []
36*61c4878aSAndroid Build Coastguard Worker  remove_default_configs = []
37*61c4878aSAndroid Build Coastguard Worker  remove_default_public_deps = []
38*61c4878aSAndroid Build Coastguard Worker}
39