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