xref: /aosp_15_r20/external/abseil-cpp/absl/log/internal/BUILD.bazel (revision 9356374a3709195abf420251b3e825997ff56c0f)
1#
2# Copyright 2022 The Abseil Authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      https://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17load(
18    "//absl:copts/configure_copts.bzl",
19    "ABSL_DEFAULT_COPTS",
20    "ABSL_DEFAULT_LINKOPTS",
21    "ABSL_TEST_COPTS",
22)
23
24package(
25    default_visibility = [
26        "//absl/log:__pkg__",
27    ],
28    features = [
29        "header_modules",
30        "layering_check",
31        "parse_headers",
32    ],
33)
34
35licenses(["notice"])
36
37cc_library(
38    name = "check_impl",
39    hdrs = ["check_impl.h"],
40    copts = ABSL_DEFAULT_COPTS,
41    linkopts = ABSL_DEFAULT_LINKOPTS,
42    deps = [
43        ":check_op",
44        ":conditions",
45        ":log_message",
46        ":strip",
47        "//absl/base:core_headers",
48    ],
49)
50
51cc_library(
52    name = "check_op",
53    srcs = ["check_op.cc"],
54    hdrs = ["check_op.h"],
55    copts = ABSL_DEFAULT_COPTS,
56    linkopts = ABSL_DEFAULT_LINKOPTS,
57    visibility = [
58        "//absl/log:__pkg__",
59    ],
60    deps = [
61        ":nullguard",
62        ":nullstream",
63        ":strip",
64        "//absl/base:config",
65        "//absl/base:core_headers",
66        "//absl/strings",
67    ],
68)
69
70cc_library(
71    name = "conditions",
72    srcs = ["conditions.cc"],
73    hdrs = ["conditions.h"],
74    copts = ABSL_DEFAULT_COPTS,
75    linkopts = ABSL_DEFAULT_LINKOPTS,
76    deps = [
77        ":voidify",
78        "//absl/base",
79        "//absl/base:config",
80        "//absl/base:core_headers",
81    ],
82)
83
84cc_library(
85    name = "config",
86    hdrs = ["config.h"],
87    copts = ABSL_DEFAULT_COPTS,
88    linkopts = ABSL_DEFAULT_LINKOPTS,
89    visibility = [
90        "//absl/log:__pkg__",
91    ],
92    deps = [
93        "//absl/base:config",
94        "//absl/base:core_headers",
95    ],
96)
97
98cc_library(
99    name = "flags",
100    hdrs = ["flags.h"],
101    copts = ABSL_DEFAULT_COPTS,
102    linkopts = ABSL_DEFAULT_LINKOPTS,
103    deps = [
104        "//absl/flags:flag",
105    ],
106)
107
108cc_library(
109    name = "format",
110    srcs = ["log_format.cc"],
111    hdrs = ["log_format.h"],
112    copts = ABSL_DEFAULT_COPTS,
113    linkopts = ABSL_DEFAULT_LINKOPTS,
114    deps = [
115        ":append_truncated",
116        ":config",
117        ":globals",
118        "//absl/base:config",
119        "//absl/base:core_headers",
120        "//absl/base:log_severity",
121        "//absl/strings",
122        "//absl/strings:str_format",
123        "//absl/time",
124        "//absl/types:span",
125    ],
126)
127
128cc_library(
129    name = "globals",
130    srcs = ["globals.cc"],
131    hdrs = ["globals.h"],
132    copts = ABSL_DEFAULT_COPTS,
133    linkopts = ABSL_DEFAULT_LINKOPTS,
134    visibility = [
135        "//absl/log:__pkg__",
136    ],
137    deps = [
138        "//absl/base:config",
139        "//absl/base:core_headers",
140        "//absl/base:log_severity",
141        "//absl/base:raw_logging_internal",
142        "//absl/strings",
143        "//absl/time",
144    ],
145)
146
147cc_library(
148    name = "log_impl",
149    hdrs = ["log_impl.h"],
150    copts = ABSL_DEFAULT_COPTS,
151    linkopts = ABSL_DEFAULT_LINKOPTS,
152    deps = [
153        ":conditions",
154        ":log_message",
155        ":strip",
156        "//absl/log:absl_vlog_is_on",
157    ],
158)
159
160cc_library(
161    name = "log_message",
162    srcs = ["log_message.cc"],
163    hdrs = ["log_message.h"],
164    copts = ABSL_DEFAULT_COPTS,
165    linkopts = ABSL_DEFAULT_LINKOPTS,
166    visibility = [
167        "//absl/log:__pkg__",
168    ],
169    deps = [
170        ":append_truncated",
171        ":format",
172        ":globals",
173        ":log_sink_set",
174        ":nullguard",
175        ":proto",
176        "//absl/base",
177        "//absl/base:config",
178        "//absl/base:core_headers",
179        "//absl/base:errno_saver",
180        "//absl/base:log_severity",
181        "//absl/base:raw_logging_internal",
182        "//absl/base:strerror",
183        "//absl/container:inlined_vector",
184        "//absl/debugging:examine_stack",
185        "//absl/log:globals",
186        "//absl/log:log_entry",
187        "//absl/log:log_sink",
188        "//absl/log:log_sink_registry",
189        "//absl/memory",
190        "//absl/strings",
191        "//absl/time",
192        "//absl/types:span",
193    ],
194)
195
196cc_library(
197    name = "append_truncated",
198    hdrs = ["append_truncated.h"],
199    copts = ABSL_DEFAULT_COPTS,
200    linkopts = ABSL_DEFAULT_LINKOPTS,
201    deps = [
202        "//absl/base:config",
203        "//absl/strings",
204        "//absl/types:span",
205    ],
206)
207
208cc_library(
209    name = "log_sink_set",
210    srcs = ["log_sink_set.cc"],
211    hdrs = ["log_sink_set.h"],
212    copts = ABSL_DEFAULT_COPTS,
213    linkopts = ABSL_DEFAULT_LINKOPTS + select({
214        "//conditions:default": [],
215        "@platforms//os:android": ["-llog"],
216    }),
217    deps = [
218        ":config",
219        ":globals",
220        "//absl/base",
221        "//absl/base:config",
222        "//absl/base:core_headers",
223        "//absl/base:log_severity",
224        "//absl/base:no_destructor",
225        "//absl/base:raw_logging_internal",
226        "//absl/cleanup",
227        "//absl/log:globals",
228        "//absl/log:log_entry",
229        "//absl/log:log_sink",
230        "//absl/strings",
231        "//absl/synchronization",
232        "//absl/types:span",
233    ],
234)
235
236cc_library(
237    name = "nullguard",
238    srcs = ["nullguard.cc"],
239    hdrs = ["nullguard.h"],
240    copts = ABSL_DEFAULT_COPTS,
241    linkopts = ABSL_DEFAULT_LINKOPTS,
242    deps = [
243        "//absl/base:config",
244        "//absl/base:core_headers",
245    ],
246)
247
248cc_library(
249    name = "nullstream",
250    hdrs = ["nullstream.h"],
251    copts = ABSL_DEFAULT_COPTS,
252    linkopts = ABSL_DEFAULT_LINKOPTS,
253    deps = [
254        "//absl/base:config",
255        "//absl/base:core_headers",
256        "//absl/base:log_severity",
257        "//absl/strings",
258    ],
259)
260
261cc_library(
262    name = "strip",
263    hdrs = ["strip.h"],
264    copts = ABSL_DEFAULT_COPTS,
265    linkopts = ABSL_DEFAULT_LINKOPTS,
266    deps = [
267        ":log_message",
268        ":nullstream",
269        "//absl/base:core_headers",
270        "//absl/base:log_severity",
271    ],
272)
273
274cc_library(
275    name = "structured",
276    hdrs = ["structured.h"],
277    copts = ABSL_DEFAULT_COPTS,
278    linkopts = ABSL_DEFAULT_LINKOPTS,
279    deps = [
280        ":log_message",
281        "//absl/base:config",
282        "//absl/strings",
283    ],
284)
285
286cc_library(
287    name = "test_actions",
288    testonly = True,
289    srcs = ["test_actions.cc"],
290    hdrs = ["test_actions.h"],
291    copts = ABSL_DEFAULT_COPTS,
292    linkopts = ABSL_DEFAULT_LINKOPTS,
293    deps = [
294        "//absl/base:config",
295        "//absl/base:core_headers",
296        "//absl/base:log_severity",
297        "//absl/log:log_entry",
298        "//absl/strings",
299        "//absl/time",
300    ] + select({
301        "//absl:msvc_compiler": [],
302        "//conditions:default": [
303        ],
304    }),
305)
306
307cc_library(
308    name = "test_helpers",
309    testonly = True,
310    srcs = ["test_helpers.cc"],
311    hdrs = ["test_helpers.h"],
312    copts = ABSL_DEFAULT_COPTS,
313    linkopts = ABSL_DEFAULT_LINKOPTS,
314    deps = [
315        ":globals",
316        "//absl/base:config",
317        "//absl/base:log_severity",
318        "//absl/log:globals",
319        "//absl/log:initialize",
320        "@com_google_googletest//:gtest",
321    ],
322)
323
324cc_library(
325    name = "test_matchers",
326    testonly = True,
327    srcs = ["test_matchers.cc"],
328    hdrs = ["test_matchers.h"],
329    copts = ABSL_DEFAULT_COPTS,
330    linkopts = ABSL_DEFAULT_LINKOPTS,
331    deps = [
332        ":test_helpers",
333        "//absl/base:config",
334        "//absl/base:core_headers",
335        "//absl/base:log_severity",
336        "//absl/log:log_entry",
337        "//absl/strings",
338        "//absl/time",
339        "@com_google_googletest//:gtest",
340    ] + select({
341        "//absl:msvc_compiler": [],
342        "//conditions:default": [
343        ],
344    }),
345)
346
347cc_library(
348    name = "voidify",
349    hdrs = ["voidify.h"],
350    copts = ABSL_DEFAULT_COPTS,
351    linkopts = ABSL_DEFAULT_LINKOPTS,
352    deps = ["//absl/base:config"],
353)
354
355cc_library(
356    name = "proto",
357    srcs = ["proto.cc"],
358    hdrs = ["proto.h"],
359    copts = ABSL_DEFAULT_COPTS,
360    linkopts = ABSL_DEFAULT_LINKOPTS,
361    deps = [
362        "//absl/base",
363        "//absl/base:config",
364        "//absl/base:core_headers",
365        "//absl/strings",
366        "//absl/types:span",
367    ],
368)
369
370cc_library(
371    name = "fnmatch",
372    srcs = ["fnmatch.cc"],
373    hdrs = ["fnmatch.h"],
374    copts = ABSL_DEFAULT_COPTS,
375    linkopts = ABSL_DEFAULT_LINKOPTS,
376    deps = [
377        "//absl/base:config",
378        "//absl/strings",
379    ],
380)
381
382cc_library(
383    name = "vlog_config",
384    srcs = ["vlog_config.cc"],
385    hdrs = ["vlog_config.h"],
386    copts = ABSL_DEFAULT_COPTS,
387    linkopts = ABSL_DEFAULT_LINKOPTS,
388    visibility = [
389        "//absl/log:__subpackages__",
390    ],
391    deps = [
392        "//absl/base",
393        "//absl/base:config",
394        "//absl/base:core_headers",
395        "//absl/base:no_destructor",
396        "//absl/log/internal:fnmatch",
397        "//absl/memory",
398        "//absl/strings",
399        "//absl/synchronization",
400        "//absl/types:optional",
401    ],
402)
403
404cc_binary(
405    name = "vlog_config_benchmark",
406    testonly = True,
407    srcs = ["vlog_config_benchmark.cc"],
408    copts = ABSL_TEST_COPTS,
409    linkopts = ABSL_DEFAULT_LINKOPTS,
410    tags = [
411        "benchmark",
412    ],
413    visibility = ["//visibility:private"],
414    deps = [
415        ":vlog_config",
416        "//absl/base:config",
417        "//absl/base:core_headers",
418        "//absl/container:layout",
419        "//absl/memory",
420        "//absl/random:distributions",
421        "//absl/strings",
422        "@com_github_google_benchmark//:benchmark_main",
423    ],
424)
425
426# Test targets
427cc_test(
428    name = "stderr_log_sink_test",
429    size = "small",
430    srcs = ["stderr_log_sink_test.cc"],
431    copts = ABSL_TEST_COPTS,
432    linkopts = ABSL_DEFAULT_LINKOPTS,
433    tags = [
434        "no_test:os:android",
435        "no_test:os:ios",
436        "no_test_android",
437        "no_test_darwin_x86_64",
438        "no_test_ios",
439        "no_test_wasm",
440    ],
441    deps = [
442        ":test_helpers",
443        "//absl/base:core_headers",
444        "//absl/base:log_severity",
445        "//absl/log",
446        "//absl/log:globals",
447        "@com_google_googletest//:gtest",
448        "@com_google_googletest//:gtest_main",
449    ],
450)
451
452cc_test(
453    name = "fnmatch_test",
454    srcs = ["fnmatch_test.cc"],
455    copts = ABSL_TEST_COPTS,
456    linkopts = ABSL_DEFAULT_LINKOPTS,
457    deps = [
458        ":fnmatch",
459        "@com_google_googletest//:gtest",
460        "@com_google_googletest//:gtest_main",
461    ],
462)
463
464cc_test(
465    name = "fnmatch_benchmark",
466    srcs = ["fnmatch_benchmark.cc"],
467    copts = ABSL_TEST_COPTS,
468    linkopts = ABSL_DEFAULT_LINKOPTS,
469    tags = ["benchmark"],
470    deps = [
471        ":fnmatch",
472        "@com_github_google_benchmark//:benchmark_main",
473    ],
474)
475