xref: /aosp_15_r20/external/pigweed/pw_build/gn_internal/defaults.gni (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2023 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
15# DO NOT IMPORT THIS .gni FILE DIRECTLY! Use "$dir_pw_build/defaults.gni"!
16#
17# When these variables were originally created, Pigweed did not have a widely
18# adopted naming pattern for build arguments declared by GN. For backwards
19# compatibility, these arguments will retain their naming.
20#
21# Unfortunately, there's two problems with this:
22#
23#   1. It's not clear these variables come from Pigweed since they don't follow
24#      the established naming patterns.
25#   2. The names conflict with the attributes of pw_* wrapped targets, which
26#      means you'll get confusing behavior if this declare_args() block gets
27#      imported into the context of a regular build file. That is why this
28#      .gni file is imported into a scope rather than handled like a regular
29#      import. It truly is an amusing workaround, but it works.
30#
31# While it's possible to migrate away from these names, it's unlikely that will
32# ever happen.
33declare_args() {
34  default_configs = []
35  default_public_deps = []
36  remove_default_configs = []
37  remove_default_public_deps = []
38}
39