blob: aff653c7e5b1d40fd08d93a9dc46f3ecc1d960de [file] [log] [blame]
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",
],
)