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