xref: /aosp_15_r20/external/webrtc/third_party/abseil-cpp/absl/log/BUILD.bazel (revision d9f758449e529ab9291ac668be2861e7a55c2422)
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(default_visibility = ["//visibility:public"])
25
26licenses(["notice"])
27
28# Public targets
29cc_library(
30    name = "check",
31    hdrs = ["check.h"],
32    copts = ABSL_DEFAULT_COPTS,
33    linkopts = ABSL_DEFAULT_LINKOPTS,
34    deps = [
35        "//absl/base:core_headers",
36        "//absl/log/internal:check_op",
37        "//absl/log/internal:conditions",
38        "//absl/log/internal:log_message",
39        "//absl/log/internal:strip",
40    ],
41)
42
43cc_library(
44    name = "die_if_null",
45    srcs = ["die_if_null.cc"],
46    hdrs = ["die_if_null.h"],
47    copts = ABSL_DEFAULT_COPTS,
48    linkopts = ABSL_DEFAULT_LINKOPTS,
49    deps = [
50        ":log",
51        "//absl/base:config",
52        "//absl/base:core_headers",
53        "//absl/strings",
54    ],
55)
56
57cc_library(
58    name = "flags",
59    srcs = ["flags.cc"],
60    hdrs = ["flags.h"],
61    copts = ABSL_DEFAULT_COPTS,
62    linkopts = ABSL_DEFAULT_LINKOPTS,
63    visibility = ["//visibility:public"],
64    deps = [
65        ":globals",
66        "//absl/base:config",
67        "//absl/base:core_headers",
68        "//absl/base:log_severity",
69        "//absl/flags:flag",
70        "//absl/flags:marshalling",
71        "//absl/log/internal:config",
72        "//absl/log/internal:flags",
73        "//absl/strings",
74    ],
75    # Binaries which do not access these flags from C++ still want this library linked in.
76    alwayslink = True,
77)
78
79cc_library(
80    name = "globals",
81    srcs = ["globals.cc"],
82    hdrs = ["globals.h"],
83    copts = ABSL_DEFAULT_COPTS,
84    linkopts = ABSL_DEFAULT_LINKOPTS,
85    visibility = ["//visibility:public"],
86    deps = [
87        "//absl/base:atomic_hook",
88        "//absl/base:config",
89        "//absl/base:core_headers",
90        "//absl/base:log_severity",
91        "//absl/hash",
92        "//absl/strings",
93    ],
94)
95
96cc_library(
97    name = "initialize",
98    srcs = ["initialize.cc"],
99    hdrs = ["initialize.h"],
100    copts = ABSL_DEFAULT_COPTS,
101    linkopts = ABSL_DEFAULT_LINKOPTS,
102    visibility = ["//visibility:public"],
103    deps = [
104        ":globals",
105        "//absl/base:config",
106        "//absl/log/internal:globals",
107        "//absl/time",
108    ],
109)
110
111cc_library(
112    name = "log",
113    hdrs = ["log.h"],
114    copts = ABSL_DEFAULT_COPTS,
115    linkopts = ABSL_DEFAULT_LINKOPTS,
116    deps = [
117        "//absl/log/internal:conditions",
118        "//absl/log/internal:log_message",
119        "//absl/log/internal:strip",
120    ],
121)
122
123cc_library(
124    name = "log_entry",
125    srcs = ["log_entry.cc"],
126    hdrs = ["log_entry.h"],
127    copts = ABSL_DEFAULT_COPTS,
128    linkopts = ABSL_DEFAULT_LINKOPTS,
129    deps = [
130        "//absl/base:config",
131        "//absl/base:core_headers",
132        "//absl/base:log_severity",
133        "//absl/log/internal:config",
134        "//absl/strings",
135        "//absl/time",
136        "//absl/types:span",
137    ],
138)
139
140cc_library(
141    name = "log_sink",
142    srcs = ["log_sink.cc"],
143    hdrs = ["log_sink.h"],
144    copts = ABSL_DEFAULT_COPTS,
145    linkopts = ABSL_DEFAULT_LINKOPTS,
146    deps = [
147        ":log_entry",
148        "//absl/base:config",
149    ],
150)
151
152cc_library(
153    name = "log_sink_registry",
154    hdrs = ["log_sink_registry.h"],
155    copts = ABSL_DEFAULT_COPTS,
156    linkopts = ABSL_DEFAULT_LINKOPTS,
157    deps = [
158        ":log_sink",
159        "//absl/base:config",
160        "//absl/log/internal:log_sink_set",
161    ],
162)
163
164cc_library(
165    name = "log_streamer",
166    hdrs = ["log_streamer.h"],
167    copts = ABSL_DEFAULT_COPTS,
168    linkopts = ABSL_DEFAULT_LINKOPTS,
169    deps = [
170        ":log",
171        "//absl/base:config",
172        "//absl/base:log_severity",
173        "//absl/strings",
174        "//absl/strings:internal",
175        "//absl/types:optional",
176        "//absl/utility",
177    ],
178)
179
180cc_library(
181    name = "scoped_mock_log",
182    testonly = True,
183    srcs = ["scoped_mock_log.cc"],
184    hdrs = ["scoped_mock_log.h"],
185    copts = ABSL_DEFAULT_COPTS,
186    linkopts = ABSL_DEFAULT_LINKOPTS,
187    deps = [
188        ":log_entry",
189        ":log_sink",
190        ":log_sink_registry",
191        "//absl/base:config",
192        "//absl/base:log_severity",
193        "//absl/base:raw_logging_internal",
194        "//absl/strings",
195        "@com_google_googletest//:gtest",
196    ],
197)
198
199# Test targets
200cc_test(
201    name = "basic_log_test",
202    size = "small",
203    srcs = ["basic_log_test.cc"],
204    copts = ABSL_TEST_COPTS,
205    linkopts = ABSL_DEFAULT_LINKOPTS,
206    deps = [
207        ":globals",
208        ":log",
209        ":log_entry",
210        ":scoped_mock_log",
211        "//absl/base",
212        "//absl/base:log_severity",
213        "//absl/log/internal:test_actions",
214        "//absl/log/internal:test_helpers",
215        "//absl/log/internal:test_matchers",
216        "@com_google_googletest//:gtest_main",
217    ],
218)
219
220cc_test(
221    name = "check_test",
222    size = "small",
223    srcs = ["check_test.cc"],
224    copts = ABSL_TEST_COPTS,
225    linkopts = ABSL_DEFAULT_LINKOPTS,
226    tags = [
227        "no_test:os:ios",
228        "no_test_ios",
229        "no_test_wasm",
230    ],
231    deps = [
232        ":check",
233        "//absl/base:config",
234        "//absl/base:core_headers",
235        "//absl/log/internal:test_helpers",
236        "@com_google_googletest//:gtest_main",
237    ],
238)
239
240cc_test(
241    name = "die_if_null_test",
242    size = "small",
243    srcs = ["die_if_null_test.cc"],
244    copts = ABSL_TEST_COPTS,
245    linkopts = ABSL_DEFAULT_LINKOPTS,
246    deps = [
247        ":die_if_null",
248        "//absl/base:core_headers",
249        "//absl/log/internal:test_helpers",
250        "@com_google_googletest//:gtest_main",
251    ],
252)
253
254cc_test(
255    name = "flags_test",
256    size = "small",
257    srcs = ["flags_test.cc"],
258    copts = ABSL_TEST_COPTS,
259    linkopts = ABSL_DEFAULT_LINKOPTS,
260    deps = [
261        ":flags",
262        ":globals",
263        ":log",
264        ":scoped_mock_log",
265        "//absl/base:core_headers",
266        "//absl/base:log_severity",
267        "//absl/flags:flag",
268        "//absl/flags:reflection",
269        "//absl/log/internal:flags",
270        "//absl/log/internal:test_helpers",
271        "//absl/log/internal:test_matchers",
272        "//absl/strings",
273        "@com_google_googletest//:gtest_main",
274    ],
275)
276
277cc_test(
278    name = "globals_test",
279    size = "small",
280    srcs = ["globals_test.cc"],
281    copts = ABSL_TEST_COPTS,
282    linkopts = ABSL_DEFAULT_LINKOPTS,
283    deps = [
284        ":globals",
285        ":log",
286        ":scoped_mock_log",
287        "//absl/base:core_headers",
288        "//absl/base:log_severity",
289        "//absl/log/internal:globals",
290        "//absl/log/internal:test_helpers",
291        "@com_google_googletest//:gtest_main",
292    ],
293)
294
295cc_test(
296    name = "log_entry_test",
297    size = "small",
298    srcs = ["log_entry_test.cc"],
299    copts = ABSL_TEST_COPTS,
300    linkopts = ABSL_DEFAULT_LINKOPTS,
301    deps = [
302        ":log_entry",
303        "//absl/base:config",
304        "//absl/base:core_headers",
305        "//absl/base:log_severity",
306        "//absl/log/internal:format",
307        "//absl/log/internal:test_helpers",
308        "//absl/strings",
309        "//absl/time",
310        "//absl/types:span",
311        "@com_google_googletest//:gtest_main",
312    ],
313)
314
315cc_test(
316    name = "log_format_test",
317    size = "small",
318    srcs = ["log_format_test.cc"],
319    copts = ABSL_TEST_COPTS,
320    linkopts = ABSL_DEFAULT_LINKOPTS,
321    deps = [
322        ":log",
323        ":scoped_mock_log",
324        "//absl/log/internal:config",
325        "//absl/log/internal:test_matchers",
326        "//absl/strings",
327        "@com_google_googletest//:gtest_main",
328    ],
329)
330
331cc_test(
332    name = "log_macro_hygiene_test",
333    size = "small",
334    srcs = ["log_macro_hygiene_test.cc"],
335    copts = ABSL_TEST_COPTS,
336    linkopts = ABSL_DEFAULT_LINKOPTS,
337    deps = [
338        ":log",
339        ":scoped_mock_log",
340        "//absl/base:core_headers",
341        "//absl/base:log_severity",
342        "@com_google_googletest//:gtest_main",
343    ],
344)
345
346cc_test(
347    name = "log_sink_test",
348    size = "medium",
349    srcs = ["log_sink_test.cc"],
350    copts = ABSL_TEST_COPTS,
351    linkopts = ABSL_DEFAULT_LINKOPTS,
352    tags = [
353        "no_test:os:ios",
354        "no_test_ios",
355        "no_test_wasm",
356    ],
357    deps = [
358        ":log",
359        ":log_sink",
360        ":log_sink_registry",
361        ":scoped_mock_log",
362        "//absl/base:core_headers",
363        "//absl/base:raw_logging_internal",
364        "//absl/log/internal:test_actions",
365        "//absl/log/internal:test_helpers",
366        "//absl/log/internal:test_matchers",
367        "//absl/strings",
368        "@com_google_googletest//:gtest_main",
369    ],
370)
371
372cc_test(
373    name = "log_streamer_test",
374    size = "medium",
375    srcs = ["log_streamer_test.cc"],
376    copts = ABSL_TEST_COPTS,
377    linkopts = ABSL_DEFAULT_LINKOPTS,
378    deps = [
379        ":log",
380        ":log_streamer",
381        ":scoped_mock_log",
382        "//absl/base",
383        "//absl/base:core_headers",
384        "//absl/base:log_severity",
385        "//absl/log/internal:test_actions",
386        "//absl/log/internal:test_helpers",
387        "//absl/log/internal:test_matchers",
388        "//absl/strings",
389        "@com_google_googletest//:gtest_main",
390    ],
391)
392
393cc_test(
394    name = "log_modifier_methods_test",
395    size = "small",
396    srcs = ["log_modifier_methods_test.cc"],
397    copts = ABSL_TEST_COPTS,
398    linkopts = ABSL_DEFAULT_LINKOPTS,
399    deps = [
400        ":log",
401        ":log_sink",
402        ":scoped_mock_log",
403        "//absl/log/internal:test_actions",
404        "//absl/log/internal:test_helpers",
405        "//absl/log/internal:test_matchers",
406        "//absl/strings",
407        "//absl/time",
408        "@com_google_googletest//:gtest_main",
409    ],
410)
411
412cc_test(
413    name = "scoped_mock_log_test",
414    size = "small",
415    srcs = ["scoped_mock_log_test.cc"],
416    copts = ABSL_TEST_COPTS,
417    linkopts = ABSL_DEFAULT_LINKOPTS,
418    linkstatic = 1,
419    tags = [
420        "no_test:os:ios",
421        "no_test_ios",
422        "no_test_wasm",
423    ],
424    deps = [
425        ":globals",
426        ":log",
427        ":scoped_mock_log",
428        "//absl/base:core_headers",
429        "//absl/base:log_severity",
430        "//absl/log/internal:test_helpers",
431        "//absl/log/internal:test_matchers",
432        "//absl/memory",
433        "//absl/strings",
434        "//absl/synchronization",
435        "@com_google_googletest//:gtest_main",
436    ],
437)
438
439cc_test(
440    name = "stripping_test",
441    size = "small",
442    srcs = ["stripping_test.cc"],
443    copts = ABSL_TEST_COPTS,
444    linkopts = ABSL_DEFAULT_LINKOPTS,
445    # This test requires all code live in the binary (instead of shared libraries)
446    # because we test for the existence of specific literals in the binary.
447    linkstatic = 1,
448    deps = [
449        ":check",
450        ":log",
451        "//absl/base:strerror",
452        "//absl/flags:program_name",
453        "//absl/log/internal:test_helpers",
454        "//absl/strings",
455        "//absl/strings:str_format",
456        "@com_google_googletest//:gtest_main",
457    ],
458)
459
460cc_binary(
461    name = "log_benchmark",
462    testonly = 1,
463    srcs = ["log_benchmark.cc"],
464    copts = ABSL_TEST_COPTS,
465    linkopts = ABSL_DEFAULT_LINKOPTS,
466    tags = ["benchmark"],
467    deps = [
468        ":check",
469        ":flags",
470        ":globals",
471        ":log",
472        ":log_entry",
473        ":log_sink",
474        ":log_sink_registry",
475        "//absl/base:core_headers",
476        "//absl/base:log_severity",
477        "//absl/flags:flag",
478        "//absl/log/internal:flags",
479        "@com_github_google_benchmark//:benchmark_main",
480    ],
481)
482