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