xref: /aosp_15_r20/external/cronet/third_party/abseil-cpp/absl/flags/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1# Copyright 2019 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//third_party/abseil-cpp/absl.gni")
6
7absl_source_set("path_util") {
8  public = [ "internal/path_util.h" ]
9  deps = [
10    "//third_party/abseil-cpp/absl/base:config",
11    "//third_party/abseil-cpp/absl/strings:string_view",
12  ]
13  visibility = [ ":*" ]
14}
15
16absl_source_set("program_name") {
17  sources = [ "internal/program_name.cc" ]
18  public = [ "internal/program_name.h" ]
19  deps = [
20    ":path_util",
21    "//third_party/abseil-cpp/absl/base:config",
22    "//third_party/abseil-cpp/absl/base:core_headers",
23    "//third_party/abseil-cpp/absl/strings:string_view",
24    "//third_party/abseil-cpp/absl/synchronization",
25  ]
26  visibility = [
27    ":*",
28    "../log:*",
29  ]
30}
31
32# Since absl/flags are only used by some test binaries (e.g. in WebRTC),
33# there is no need to strip flags from mobile platforms binaries.
34# This does not affect Chromium.
35config("absl_flags_config") {
36  defines = [ "ABSL_FLAGS_STRIP_NAMES=0" ]
37}
38
39absl_source_set("config") {
40  sources = [ "usage_config.cc" ]
41  public_configs = [ ":absl_flags_config" ]
42  public = [
43    "config.h",
44    "usage_config.h",
45  ]
46  deps = [
47    ":path_util",
48    ":program_name",
49    "//third_party/abseil-cpp/absl/base:config",
50    "//third_party/abseil-cpp/absl/base:core_headers",
51    "//third_party/abseil-cpp/absl/strings",
52    "//third_party/abseil-cpp/absl/strings:string_view",
53    "//third_party/abseil-cpp/absl/synchronization",
54  ]
55}
56
57absl_source_set("marshalling") {
58  sources = [ "marshalling.cc" ]
59  public = [ "marshalling.h" ]
60  deps = [
61    "//third_party/abseil-cpp/absl/base:config",
62    "//third_party/abseil-cpp/absl/base:core_headers",
63    "//third_party/abseil-cpp/absl/base:log_severity",
64    "//third_party/abseil-cpp/absl/numeric:int128",
65    "//third_party/abseil-cpp/absl/strings",
66    "//third_party/abseil-cpp/absl/strings:str_format",
67    "//third_party/abseil-cpp/absl/strings:string_view",
68    "//third_party/abseil-cpp/absl/types:optional",
69  ]
70}
71
72absl_source_set("commandlineflag_internal") {
73  visibility = [ ":*" ]
74  public = [ "internal/commandlineflag.h" ]
75  sources = [ "internal/commandlineflag.cc" ]
76  deps = [
77    "//third_party/abseil-cpp/absl/base:config",
78    "//third_party/abseil-cpp/absl/base:fast_type_id",
79  ]
80}
81
82absl_source_set("commandlineflag") {
83  sources = [ "commandlineflag.cc" ]
84  public = [ "commandlineflag.h" ]
85  deps = [
86    ":commandlineflag_internal",
87    "//third_party/abseil-cpp/absl/base:config",
88    "//third_party/abseil-cpp/absl/base:fast_type_id",
89    "//third_party/abseil-cpp/absl/strings:string_view",
90    "//third_party/abseil-cpp/absl/types:optional",
91  ]
92}
93
94absl_source_set("private_handle_accessor") {
95  sources = [ "internal/private_handle_accessor.cc" ]
96  public = [ "internal/private_handle_accessor.h" ]
97  deps = [
98    ":commandlineflag",
99    ":commandlineflag_internal",
100    "//third_party/abseil-cpp/absl/base:config",
101    "//third_party/abseil-cpp/absl/strings:string_view",
102  ]
103  visibility = [ ":*" ]
104}
105
106absl_source_set("reflection") {
107  sources = [ "reflection.cc" ]
108  public = [
109    "internal/registry.h",
110    "reflection.h",
111  ]
112  deps = [
113    ":commandlineflag",
114    ":commandlineflag_internal",
115    ":config",
116    ":private_handle_accessor",
117    "//third_party/abseil-cpp/absl/base:config",
118    "//third_party/abseil-cpp/absl/base:core_headers",
119    "//third_party/abseil-cpp/absl/base:no_destructor",
120    "//third_party/abseil-cpp/absl/container:flat_hash_map",
121    "//third_party/abseil-cpp/absl/strings",
122    "//third_party/abseil-cpp/absl/strings:string_view",
123    "//third_party/abseil-cpp/absl/synchronization",
124  ]
125}
126
127absl_source_set("flag_internal") {
128  sources = [ "internal/flag.cc" ]
129  public = [
130    "internal/flag.h",
131    "internal/sequence_lock.h",
132  ]
133  deps = [
134    ":commandlineflag",
135    ":commandlineflag_internal",
136    ":config",
137    ":marshalling",
138    ":reflection",
139    "//third_party/abseil-cpp/absl/base",
140    "//third_party/abseil-cpp/absl/base:config",
141    "//third_party/abseil-cpp/absl/base:core_headers",
142    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
143    "//third_party/abseil-cpp/absl/memory",
144    "//third_party/abseil-cpp/absl/meta:type_traits",
145    "//third_party/abseil-cpp/absl/strings",
146    "//third_party/abseil-cpp/absl/strings:string_view",
147    "//third_party/abseil-cpp/absl/synchronization",
148    "//third_party/abseil-cpp/absl/utility",
149  ]
150  visibility = [
151    ":*",
152    "//third_party/abseil-cpp/absl/base/*",
153  ]
154}
155
156absl_source_set("flag") {
157  public = [
158    "declare.h",
159    "flag.h",
160  ]
161  deps = [
162    ":commandlineflag",
163    ":config",
164    ":flag_internal",
165    ":reflection",
166    "//third_party/abseil-cpp/absl/base:config",
167    "//third_party/abseil-cpp/absl/base:core_headers",
168    "//third_party/abseil-cpp/absl/strings:string_view",
169  ]
170}
171
172absl_source_set("usage_internal") {
173  sources = [ "internal/usage.cc" ]
174  public = [ "internal/usage.h" ]
175  deps = [
176    ":commandlineflag",
177    ":config",
178    ":flag",
179    ":flag_internal",
180    ":path_util",
181    ":private_handle_accessor",
182    ":program_name",
183    ":reflection",
184    "//third_party/abseil-cpp/absl/base:config",
185    "//third_party/abseil-cpp/absl/base:core_headers",
186    "//third_party/abseil-cpp/absl/strings",
187    "//third_party/abseil-cpp/absl/strings:string_view",
188    "//third_party/abseil-cpp/absl/synchronization",
189  ]
190  visibility = [ ":*" ]
191}
192
193absl_source_set("usage") {
194  sources = [ "usage.cc" ]
195  public = [ "usage.h" ]
196  deps = [
197    ":usage_internal",
198    "//third_party/abseil-cpp/absl/base:config",
199    "//third_party/abseil-cpp/absl/base:core_headers",
200    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
201    "//third_party/abseil-cpp/absl/strings:string_view",
202    "//third_party/abseil-cpp/absl/synchronization",
203  ]
204}
205
206absl_source_set("parse") {
207  sources = [ "parse.cc" ]
208  public = [
209    "internal/parse.h",
210    "parse.h",
211  ]
212  deps = [
213    ":commandlineflag",
214    ":commandlineflag_internal",
215    ":config",
216    ":flag",
217    ":flag_internal",
218    ":private_handle_accessor",
219    ":program_name",
220    ":reflection",
221    ":usage",
222    ":usage_internal",
223    "//third_party/abseil-cpp/absl/algorithm:container",
224    "//third_party/abseil-cpp/absl/base:config",
225    "//third_party/abseil-cpp/absl/base:core_headers",
226    "//third_party/abseil-cpp/absl/strings",
227    "//third_party/abseil-cpp/absl/strings:string_view",
228    "//third_party/abseil-cpp/absl/synchronization",
229  ]
230}
231
232absl_test("flag_test") {
233  sources = [
234    "flag_test.cc",
235    "flag_test_defs.cc",
236  ]
237  deps = [
238    ":config",
239    ":flag",
240    ":flag_internal",
241    ":marshalling",
242    ":reflection",
243    "//third_party/abseil-cpp/absl/base:core_headers",
244    "//third_party/abseil-cpp/absl/base:malloc_internal",
245    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
246    "//third_party/abseil-cpp/absl/numeric:int128",
247    "//third_party/abseil-cpp/absl/strings",
248    "//third_party/abseil-cpp/absl/strings:string_view",
249    "//third_party/abseil-cpp/absl/time",
250    "//third_party/abseil-cpp/absl/types:optional",
251  ]
252}
253