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