• 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/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  sources = [
158    "flag.cc",
159    "internal/flag_msvc.inc",
160  ]
161  public = [
162    "declare.h",
163    "flag.h",
164  ]
165  deps = [
166    ":config",
167    ":flag_internal",
168    ":reflection",
169    "//third_party/abseil-cpp/absl/base",
170    "//third_party/abseil-cpp/absl/base:config",
171    "//third_party/abseil-cpp/absl/base:core_headers",
172    "//third_party/abseil-cpp/absl/strings:string_view",
173  ]
174}
175
176absl_source_set("usage_internal") {
177  sources = [ "internal/usage.cc" ]
178  public = [ "internal/usage.h" ]
179  deps = [
180    ":commandlineflag",
181    ":config",
182    ":flag",
183    ":flag_internal",
184    ":path_util",
185    ":private_handle_accessor",
186    ":program_name",
187    ":reflection",
188    "//third_party/abseil-cpp/absl/base:config",
189    "//third_party/abseil-cpp/absl/base:core_headers",
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/strings",
231    "//third_party/abseil-cpp/absl/strings:string_view",
232    "//third_party/abseil-cpp/absl/synchronization",
233  ]
234}
235
236absl_test("flag_test") {
237  sources = [
238    "flag_test.cc",
239    "flag_test_defs.cc",
240  ]
241  deps = [
242    ":config",
243    ":flag",
244    ":flag_internal",
245    ":marshalling",
246    ":reflection",
247    "//third_party/abseil-cpp/absl/base:core_headers",
248    "//third_party/abseil-cpp/absl/base:malloc_internal",
249    "//third_party/abseil-cpp/absl/numeric:int128",
250    "//third_party/abseil-cpp/absl/strings",
251    "//third_party/abseil-cpp/absl/strings:string_view",
252    "//third_party/abseil-cpp/absl/time",
253  ]
254}
255