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