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