BUILD.gn (7495B)
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 5 import("//third_party/abseil-cpp/absl.gni") 6 7 absl_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 16 absl_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. 36 config("absl_flags_config") { 37 defines = [ "ABSL_FLAGS_STRIP_NAMES=0" ] 38 } 39 40 absl_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 59 absl_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 74 absl_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 84 absl_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 96 absl_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 108 absl_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 129 absl_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 159 absl_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/base:nullability", 172 "//third_party/abseil-cpp/absl/strings:string_view", 173 ] 174 } 175 176 absl_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/base:no_destructor", 191 "//third_party/abseil-cpp/absl/strings", 192 "//third_party/abseil-cpp/absl/strings:string_view", 193 "//third_party/abseil-cpp/absl/synchronization", 194 ] 195 visibility = [ ":*" ] 196 } 197 198 absl_source_set("usage") { 199 sources = [ "usage.cc" ] 200 public = [ "usage.h" ] 201 deps = [ 202 ":usage_internal", 203 "//third_party/abseil-cpp/absl/base:config", 204 "//third_party/abseil-cpp/absl/base:core_headers", 205 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 206 "//third_party/abseil-cpp/absl/strings:string_view", 207 "//third_party/abseil-cpp/absl/synchronization", 208 ] 209 } 210 211 absl_source_set("parse") { 212 sources = [ "parse.cc" ] 213 public = [ 214 "internal/parse.h", 215 "parse.h", 216 ] 217 deps = [ 218 ":commandlineflag", 219 ":commandlineflag_internal", 220 ":config", 221 ":flag", 222 ":flag_internal", 223 ":private_handle_accessor", 224 ":program_name", 225 ":reflection", 226 ":usage", 227 ":usage_internal", 228 "//third_party/abseil-cpp/absl/algorithm:container", 229 "//third_party/abseil-cpp/absl/base:config", 230 "//third_party/abseil-cpp/absl/base:core_headers", 231 "//third_party/abseil-cpp/absl/base:no_destructor", 232 "//third_party/abseil-cpp/absl/strings", 233 "//third_party/abseil-cpp/absl/strings:string_view", 234 "//third_party/abseil-cpp/absl/synchronization", 235 ] 236 } 237 238 absl_test("flag_test") { 239 sources = [ 240 "flag_test.cc", 241 "flag_test_defs.cc", 242 ] 243 deps = [ 244 ":config", 245 ":flag", 246 ":flag_internal", 247 ":marshalling", 248 ":parse", 249 ":reflection", 250 "//third_party/abseil-cpp/absl/base:core_headers", 251 "//third_party/abseil-cpp/absl/base:malloc_internal", 252 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 253 "//third_party/abseil-cpp/absl/numeric:int128", 254 "//third_party/abseil-cpp/absl/strings", 255 "//third_party/abseil-cpp/absl/strings:string_view", 256 "//third_party/abseil-cpp/absl/time", 257 "//third_party/abseil-cpp/absl/types:optional", 258 ] 259 }