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