| load("@rules_cc//cc:defs.bzl", "cc_library") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| cc_library( |
| name = "program_name", |
| linkopts = ["-labsl_flags_program_name"], |
| visibility = [ |
| "//absl/flags:__pkg__", |
| ], |
| deps = [ |
| "//absl/strings", |
| "//absl/synchronization", |
| ], |
| ) |
| |
| cc_library( |
| name = "config", |
| linkopts = ["-labsl_flags_config"], |
| deps = [ |
| ":program_name", |
| "//absl/strings", |
| "//absl/synchronization", |
| ], |
| ) |
| |
| cc_library( |
| name = "marshalling", |
| linkopts = ["-labsl_flags_marshalling"], |
| deps = [ |
| "//absl/base:log_severity", |
| "//absl/strings", |
| "//absl/strings:str_format", |
| ], |
| ) |
| |
| cc_library( |
| name = "commandlineflag_internal", |
| linkopts = ["-labsl_flags_commandlineflag_internal"], |
| ) |
| |
| cc_library( |
| name = "commandlineflag", |
| linkopts = ["-labsl_flags_commandlineflag"], |
| deps = [ |
| ":commandlineflag_internal", |
| "//absl/strings", |
| "//absl/types:optional", |
| ], |
| ) |
| |
| cc_library( |
| name = "private_handle_accessor", |
| linkopts = ["-labsl_flags_private_handle_accessor"], |
| visibility = [ |
| "//absl/flags:__pkg__", |
| ], |
| deps = [ |
| ":commandlineflag", |
| ":commandlineflag_internal", |
| "//absl/strings", |
| ], |
| ) |
| |
| cc_library( |
| name = "reflection", |
| linkopts = ["-labsl_flags_reflection"], |
| deps = [ |
| ":commandlineflag", |
| ":commandlineflag_internal", |
| ":config", |
| ":private_handle_accessor", |
| "//absl/container:flat_hash_map", |
| "//absl/strings", |
| "//absl/synchronization", |
| ], |
| ) |
| |
| cc_library( |
| name = "flag_internal", |
| linkopts = ["-labsl_flags_internal"], |
| visibility = ["//absl/base:__subpackages__"], |
| deps = [ |
| ":commandlineflag", |
| ":commandlineflag_internal", |
| ":config", |
| ":marshalling", |
| ":reflection", |
| "//absl/base", |
| "//absl/memory", |
| "//absl/meta:type_traits", |
| "//absl/strings", |
| "//absl/synchronization", |
| "//absl/utility", |
| ], |
| ) |
| |
| cc_library( |
| name = "flag", |
| linkopts = ["-labsl_flags"], |
| deps = [ |
| ":config", |
| ":flag_internal", |
| ":reflection", |
| "//absl/base", |
| "//absl/strings", |
| ], |
| ) |
| |
| cc_library( |
| name = "usage_internal", |
| linkopts = ["-labsl_flags_usage_internal"], |
| visibility = [ |
| "//absl/flags:__pkg__", |
| ], |
| deps = [ |
| ":commandlineflag", |
| ":config", |
| ":flag", |
| ":flag_internal", |
| ":private_handle_accessor", |
| ":program_name", |
| ":reflection", |
| "//absl/strings", |
| ], |
| ) |
| |
| cc_library( |
| name = "usage", |
| linkopts = ["-labsl_flags_usage"], |
| deps = [ |
| ":usage_internal", |
| "//absl/strings", |
| "//absl/synchronization", |
| ], |
| ) |
| |
| cc_library( |
| name = "parse", |
| linkopts = ["-labsl_flags_parse"], |
| deps = [ |
| ":commandlineflag", |
| ":commandlineflag_internal", |
| ":config", |
| ":flag", |
| ":flag_internal", |
| ":private_handle_accessor", |
| ":program_name", |
| ":reflection", |
| ":usage", |
| ":usage_internal", |
| "//absl/strings", |
| "//absl/synchronization", |
| ], |
| ) |