xref: /aosp_15_r20/external/tensorflow/third_party/absl/system.absl.flags.BUILD (revision b6fb3261f9314811a0f4371741dbb8839866f948)
1load("@rules_cc//cc:defs.bzl", "cc_library")
2
3package(default_visibility = ["//visibility:public"])
4
5cc_library(
6    name = "program_name",
7    linkopts = ["-labsl_flags_program_name"],
8    visibility = [
9        "//absl/flags:__pkg__",
10    ],
11    deps = [
12        "//absl/strings",
13        "//absl/synchronization",
14    ],
15)
16
17cc_library(
18    name = "config",
19    linkopts = ["-labsl_flags_config"],
20    deps = [
21        ":program_name",
22        "//absl/strings",
23        "//absl/synchronization",
24    ],
25)
26
27cc_library(
28    name = "marshalling",
29    linkopts = ["-labsl_flags_marshalling"],
30    deps = [
31        "//absl/base:log_severity",
32        "//absl/strings",
33        "//absl/strings:str_format",
34    ],
35)
36
37cc_library(
38    name = "commandlineflag_internal",
39    linkopts = ["-labsl_flags_commandlineflag_internal"],
40)
41
42cc_library(
43    name = "commandlineflag",
44    linkopts = ["-labsl_flags_commandlineflag"],
45    deps = [
46        ":commandlineflag_internal",
47        "//absl/strings",
48        "//absl/types:optional",
49    ],
50)
51
52cc_library(
53    name = "private_handle_accessor",
54    linkopts = ["-labsl_flags_private_handle_accessor"],
55    visibility = [
56        "//absl/flags:__pkg__",
57    ],
58    deps = [
59        ":commandlineflag",
60        ":commandlineflag_internal",
61        "//absl/strings",
62    ],
63)
64
65cc_library(
66    name = "reflection",
67    linkopts = ["-labsl_flags_reflection"],
68    deps = [
69        ":commandlineflag",
70        ":commandlineflag_internal",
71        ":config",
72        ":private_handle_accessor",
73        "//absl/container:flat_hash_map",
74        "//absl/strings",
75        "//absl/synchronization",
76    ],
77)
78
79cc_library(
80    name = "flag_internal",
81    linkopts = ["-labsl_flags_internal"],
82    visibility = ["//absl/base:__subpackages__"],
83    deps = [
84        ":commandlineflag",
85        ":commandlineflag_internal",
86        ":config",
87        ":marshalling",
88        ":reflection",
89        "//absl/base",
90        "//absl/memory",
91        "//absl/meta:type_traits",
92        "//absl/strings",
93        "//absl/synchronization",
94        "//absl/utility",
95    ],
96)
97
98cc_library(
99    name = "flag",
100    linkopts = ["-labsl_flags"],
101    deps = [
102        ":config",
103        ":flag_internal",
104        ":reflection",
105        "//absl/base",
106        "//absl/strings",
107    ],
108)
109
110cc_library(
111    name = "usage_internal",
112    linkopts = ["-labsl_flags_usage_internal"],
113    visibility = [
114        "//absl/flags:__pkg__",
115    ],
116    deps = [
117        ":commandlineflag",
118        ":config",
119        ":flag",
120        ":flag_internal",
121        ":private_handle_accessor",
122        ":program_name",
123        ":reflection",
124        "//absl/strings",
125    ],
126)
127
128cc_library(
129    name = "usage",
130    linkopts = ["-labsl_flags_usage"],
131    deps = [
132        ":usage_internal",
133        "//absl/strings",
134        "//absl/synchronization",
135    ],
136)
137
138cc_library(
139    name = "parse",
140    linkopts = ["-labsl_flags_parse"],
141    deps = [
142        ":commandlineflag",
143        ":commandlineflag_internal",
144        ":config",
145        ":flag",
146        ":flag_internal",
147        ":private_handle_accessor",
148        ":program_name",
149        ":reflection",
150        ":usage",
151        ":usage_internal",
152        "//absl/strings",
153        "//absl/synchronization",
154    ],
155)
156