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