• 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  ]
63}
64
65absl_source_set("commandlineflag_internal") {
66  public = [ "internal/commandlineflag.h" ]
67  sources = [ "internal/commandlineflag.cc" ]
68  deps = [
69    "//third_party/abseil-cpp/absl/base:config",
70    "//third_party/abseil-cpp/absl/base:fast_type_id",
71  ]
72}
73
74absl_source_set("commandlineflag") {
75  sources = [ "commandlineflag.cc" ]
76  public = [ "commandlineflag.h" ]
77  deps = [
78    ":commandlineflag_internal",
79    "//third_party/abseil-cpp/absl/base:config",
80    "//third_party/abseil-cpp/absl/base:fast_type_id",
81    "//third_party/abseil-cpp/absl/strings",
82    "//third_party/abseil-cpp/absl/types:optional",
83  ]
84}
85
86absl_source_set("private_handle_accessor") {
87  sources = [ "internal/private_handle_accessor.cc" ]
88  public = [ "internal/private_handle_accessor.h" ]
89  deps = [
90    ":commandlineflag",
91    ":commandlineflag_internal",
92    "//third_party/abseil-cpp/absl/base:config",
93    "//third_party/abseil-cpp/absl/strings",
94  ]
95  visibility = [ ":*" ]
96}
97
98absl_source_set("reflection") {
99  sources = [ "reflection.cc" ]
100  public = [
101    "internal/registry.h",
102    "reflection.h",
103  ]
104  deps = [
105    ":commandlineflag",
106    ":commandlineflag_internal",
107    ":config",
108    ":private_handle_accessor",
109    "//third_party/abseil-cpp/absl/base:config",
110    "//third_party/abseil-cpp/absl/base:core_headers",
111    "//third_party/abseil-cpp/absl/container:flat_hash_map",
112    "//third_party/abseil-cpp/absl/strings",
113    "//third_party/abseil-cpp/absl/synchronization",
114  ]
115}
116
117absl_source_set("flag_internal") {
118  sources = [ "internal/flag.cc" ]
119  public = [
120    "internal/flag.h",
121    "internal/sequence_lock.h",
122  ]
123  deps = [
124    ":commandlineflag",
125    ":commandlineflag_internal",
126    ":config",
127    ":marshalling",
128    ":reflection",
129    "//third_party/abseil-cpp/absl/base",
130    "//third_party/abseil-cpp/absl/base:config",
131    "//third_party/abseil-cpp/absl/base:core_headers",
132    "//third_party/abseil-cpp/absl/memory",
133    "//third_party/abseil-cpp/absl/meta:type_traits",
134    "//third_party/abseil-cpp/absl/strings",
135    "//third_party/abseil-cpp/absl/synchronization",
136    "//third_party/abseil-cpp/absl/utility",
137  ]
138  visibility = [
139    ":*",
140    "//third_party/abseil-cpp/absl/base/*",
141  ]
142}
143
144absl_source_set("flag") {
145  sources = [ "flag.cc" ]
146  public = [
147    "declare.h",
148    "flag.h",
149  ]
150  deps = [
151    ":config",
152    ":flag_internal",
153    ":reflection",
154    "//third_party/abseil-cpp/absl/base",
155    "//third_party/abseil-cpp/absl/base:config",
156    "//third_party/abseil-cpp/absl/base:core_headers",
157    "//third_party/abseil-cpp/absl/strings",
158  ]
159}
160
161absl_source_set("usage_internal") {
162  sources = [ "internal/usage.cc" ]
163  public = [ "internal/usage.h" ]
164  deps = [
165    ":commandlineflag",
166    ":config",
167    ":flag",
168    ":flag_internal",
169    ":path_util",
170    ":private_handle_accessor",
171    ":program_name",
172    ":reflection",
173    "//third_party/abseil-cpp/absl/base:config",
174    "//third_party/abseil-cpp/absl/base:core_headers",
175    "//third_party/abseil-cpp/absl/container:flat_hash_map",
176    "//third_party/abseil-cpp/absl/strings",
177  ]
178  visibility = [ ":*" ]
179}
180
181absl_source_set("usage") {
182  sources = [ "usage.cc" ]
183  public = [ "usage.h" ]
184  deps = [
185    ":usage_internal",
186    "//third_party/abseil-cpp/absl/base:config",
187    "//third_party/abseil-cpp/absl/base:core_headers",
188    "//third_party/abseil-cpp/absl/strings",
189    "//third_party/abseil-cpp/absl/synchronization",
190  ]
191}
192
193absl_source_set("parse") {
194  sources = [ "parse.cc" ]
195  public = [
196    "internal/parse.h",
197    "parse.h",
198  ]
199  deps = [
200    ":commandlineflag",
201    ":commandlineflag_internal",
202    ":config",
203    ":flag",
204    ":flag_internal",
205    ":private_handle_accessor",
206    ":program_name",
207    ":reflection",
208    ":usage",
209    ":usage_internal",
210    "//third_party/abseil-cpp/absl/base:config",
211    "//third_party/abseil-cpp/absl/base:core_headers",
212    "//third_party/abseil-cpp/absl/strings",
213    "//third_party/abseil-cpp/absl/synchronization",
214  ]
215}
216