• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
29
30cc_library(
31    name = "absl_check",
32    hdrs = ["absl_check.h"],
33    copts = ABSL_DEFAULT_COPTS,
34    linkopts = ABSL_DEFAULT_LINKOPTS,
35    deps = [
36        "//absl/log/internal:check_impl",
37    ],
38)
39
40cc_library(
41    name = "absl_log",
42    hdrs = ["absl_log.h"],
43    copts = ABSL_DEFAULT_COPTS,
44    linkopts = ABSL_DEFAULT_LINKOPTS,
45    deps = [
46        "//absl/log/internal:log_impl",
47    ],
48)
49
50cc_library(
51    name = "check",
52    hdrs = ["check.h"],
53    copts = ABSL_DEFAULT_COPTS,
54    linkopts = ABSL_DEFAULT_LINKOPTS,
55    deps = [
56        "//absl/log/internal:check_impl",
57        "//absl/log/internal:check_op",
58        "//absl/log/internal:conditions",
59        "//absl/log/internal:log_message",
60        "//absl/log/internal:strip",
61    ],
62)
63
64cc_library(
65    name = "die_if_null",
66    srcs = ["die_if_null.cc"],
67    hdrs = ["die_if_null.h"],
68    copts = ABSL_DEFAULT_COPTS,
69    linkopts = ABSL_DEFAULT_LINKOPTS,
70    deps = [
71        ":log",
72        "//absl/base:config",
73        "//absl/base:core_headers",
74        "//absl/strings",
75    ],
76)
77
78cc_library(
79    name = "flags",
80    srcs = ["flags.cc"],
81    hdrs = ["flags.h"],
82    copts = ABSL_DEFAULT_COPTS,
83    linkopts = ABSL_DEFAULT_LINKOPTS,
84    visibility = ["//visibility:public"],
85    deps = [
86        ":globals",
87        "//absl/base:config",
88        "//absl/base:core_headers",
89        "//absl/base:log_severity",
90        "//absl/flags:flag",
91        "//absl/flags:marshalling",
92        "//absl/log/internal:config",
93        "//absl/log/internal:flags",
94        "//absl/strings",
95    ],
96    # Binaries which do not access these flags from C++ still want this library linked in.
97    alwayslink = True,
98)
99
100cc_library(
101    name = "globals",
102    srcs = ["globals.cc"],
103    hdrs = ["globals.h"],
104    copts = ABSL_DEFAULT_COPTS,
105    linkopts = ABSL_DEFAULT_LINKOPTS,
106    visibility = ["//visibility:public"],
107    deps = [
108        "//absl/base:atomic_hook",
109        "//absl/base:config",
110        "//absl/base:core_headers",
111        "//absl/base:log_severity",
112        "//absl/base:raw_logging_internal",
113        "//absl/hash",
114        "//absl/strings",
115    ],
116)
117
118cc_library(
119    name = "initialize",
120    srcs = ["initialize.cc"],
121    hdrs = ["initialize.h"],
122    copts = ABSL_DEFAULT_COPTS,
123    linkopts = ABSL_DEFAULT_LINKOPTS,
124    visibility = ["//visibility:public"],
125    deps = [
126        ":globals",
127        "//absl/base:config",
128        "//absl/log/internal:globals",
129        "//absl/time",
130    ],
131)
132
133cc_library(
134    name = "log",
135    hdrs = ["log.h"],
136    copts = ABSL_DEFAULT_COPTS,
137    linkopts = ABSL_DEFAULT_LINKOPTS,
138    deps = [
139        "//absl/log/internal:log_impl",
140    ],
141)
142
143cc_library(
144    name = "log_entry",
145    srcs = ["log_entry.cc"],
146    hdrs = ["log_entry.h"],
147    copts = ABSL_DEFAULT_COPTS,
148    linkopts = ABSL_DEFAULT_LINKOPTS,
149    deps = [
150        "//absl/base:config",
151        "//absl/base:core_headers",
152        "//absl/base:log_severity",
153        "//absl/log/internal:config",
154        "//absl/strings",
155        "//absl/time",
156        "//absl/types:span",
157    ],
158)
159
160cc_library(
161    name = "log_sink",
162    srcs = ["log_sink.cc"],
163    hdrs = ["log_sink.h"],
164    copts = ABSL_DEFAULT_COPTS,
165    linkopts = ABSL_DEFAULT_LINKOPTS,
166    deps = [
167        ":log_entry",
168        "//absl/base:config",
169    ],
170)
171
172cc_library(
173    name = "log_sink_registry",
174    hdrs = ["log_sink_registry.h"],
175    copts = ABSL_DEFAULT_COPTS,
176    linkopts = ABSL_DEFAULT_LINKOPTS,
177    deps = [
178        ":log_sink",
179        "//absl/base:config",
180        "//absl/log/internal:log_sink_set",
181    ],
182)
183
184cc_library(
185    name = "log_streamer",
186    hdrs = ["log_streamer.h"],
187    copts = ABSL_DEFAULT_COPTS,
188    linkopts = ABSL_DEFAULT_LINKOPTS,
189    deps = [
190        ":absl_log",
191        "//absl/base:config",
192        "//absl/base:log_severity",
193        "//absl/strings",
194        "//absl/strings:internal",
195        "//absl/types:optional",
196        "//absl/utility",
197    ],
198)
199
200cc_library(
201    name = "scoped_mock_log",
202    testonly = True,
203    srcs = ["scoped_mock_log.cc"],
204    hdrs = ["scoped_mock_log.h"],
205    copts = ABSL_DEFAULT_COPTS,
206    linkopts = ABSL_DEFAULT_LINKOPTS,
207    deps = [
208        ":log_entry",
209        ":log_sink",
210        ":log_sink_registry",
211        "//absl/base:config",
212        "//absl/base:log_severity",
213        "//absl/base:raw_logging_internal",
214        "//absl/strings",
215        "@com_google_googletest//:gtest",
216    ],
217)
218
219cc_library(
220    name = "structured",
221    hdrs = ["structured.h"],
222    copts = ABSL_DEFAULT_COPTS,
223    linkopts = ABSL_DEFAULT_LINKOPTS,
224    deps = [
225        "//absl/base:config",
226        "//absl/log/internal:structured",
227        "//absl/strings",
228    ],
229)
230
231# Test targets
232
233cc_test(
234    name = "absl_check_test",
235    size = "small",
236    srcs = ["absl_check_test.cc"],
237    copts = ABSL_TEST_COPTS,
238    linkopts = ABSL_DEFAULT_LINKOPTS,
239    tags = [
240        "no_test:os:ios",
241        "no_test_ios",
242        "no_test_wasm",
243    ],
244    deps = [
245        ":absl_check",
246        ":check_test_impl",
247        "@com_google_googletest//:gtest_main",
248    ],
249)
250
251cc_test(
252    name = "absl_log_basic_test",
253    size = "small",
254    srcs = ["absl_log_basic_test.cc"],
255    copts = ABSL_TEST_COPTS,
256    linkopts = ABSL_DEFAULT_LINKOPTS,
257    deps = [
258        ":absl_log",
259        ":log_basic_test_impl",
260        "@com_google_googletest//:gtest_main",
261    ],
262)
263
264cc_test(
265    name = "check_test",
266    size = "small",
267    srcs = ["check_test.cc"],
268    copts = ABSL_TEST_COPTS,
269    linkopts = ABSL_DEFAULT_LINKOPTS,
270    tags = [
271        "no_test:os:ios",
272        "no_test_ios",
273        "no_test_wasm",
274    ],
275    deps = [
276        ":check",
277        ":check_test_impl",
278        "@com_google_googletest//:gtest_main",
279    ],
280)
281
282cc_library(
283    name = "check_test_impl",
284    testonly = True,
285    copts = ABSL_TEST_COPTS,
286    linkopts = ABSL_DEFAULT_LINKOPTS,
287    tags = [
288        "no_test:os:ios",
289        "no_test_ios",
290        "no_test_wasm",
291    ],
292    textual_hdrs = ["check_test_impl.inc"],
293    visibility = ["//visibility:private"],
294    deps = [
295        "//absl/base:config",
296        "//absl/base:core_headers",
297        "//absl/log/internal:test_helpers",
298        "//absl/status",
299        "@com_google_googletest//:gtest",
300    ],
301)
302
303cc_test(
304    name = "die_if_null_test",
305    size = "small",
306    srcs = ["die_if_null_test.cc"],
307    copts = ABSL_TEST_COPTS,
308    linkopts = ABSL_DEFAULT_LINKOPTS,
309    deps = [
310        ":die_if_null",
311        "//absl/base:core_headers",
312        "//absl/log/internal:test_helpers",
313        "@com_google_googletest//:gtest_main",
314    ],
315)
316
317cc_test(
318    name = "flags_test",
319    size = "small",
320    srcs = ["flags_test.cc"],
321    copts = ABSL_TEST_COPTS,
322    linkopts = ABSL_DEFAULT_LINKOPTS,
323    deps = [
324        ":flags",
325        ":globals",
326        ":log",
327        ":scoped_mock_log",
328        "//absl/base:core_headers",
329        "//absl/base:log_severity",
330        "//absl/flags:flag",
331        "//absl/flags:reflection",
332        "//absl/log/internal:flags",
333        "//absl/log/internal:test_helpers",
334        "//absl/log/internal:test_matchers",
335        "//absl/strings",
336        "@com_google_googletest//:gtest_main",
337    ],
338)
339
340cc_test(
341    name = "globals_test",
342    size = "small",
343    srcs = ["globals_test.cc"],
344    copts = ABSL_TEST_COPTS,
345    linkopts = ABSL_DEFAULT_LINKOPTS,
346    deps = [
347        ":globals",
348        ":log",
349        ":scoped_mock_log",
350        "//absl/base:core_headers",
351        "//absl/base:log_severity",
352        "//absl/log/internal:globals",
353        "//absl/log/internal:test_helpers",
354        "@com_google_googletest//:gtest_main",
355    ],
356)
357
358cc_test(
359    name = "log_basic_test",
360    size = "small",
361    srcs = ["log_basic_test.cc"],
362    copts = ABSL_TEST_COPTS,
363    linkopts = ABSL_DEFAULT_LINKOPTS,
364    deps = [
365        ":log",
366        ":log_basic_test_impl",
367        "@com_google_googletest//:gtest_main",
368    ],
369)
370
371cc_library(
372    name = "log_basic_test_impl",
373    testonly = True,
374    copts = ABSL_TEST_COPTS,
375    linkopts = ABSL_DEFAULT_LINKOPTS,
376    textual_hdrs = ["log_basic_test_impl.inc"],
377    visibility = ["//visibility:private"],
378    deps = [
379        "//absl/base",
380        "//absl/base:log_severity",
381        "//absl/log:globals",
382        "//absl/log:log_entry",
383        "//absl/log:scoped_mock_log",
384        "//absl/log/internal:test_actions",
385        "//absl/log/internal:test_helpers",
386        "//absl/log/internal:test_matchers",
387        "@com_google_googletest//:gtest",
388    ],
389)
390
391cc_test(
392    name = "log_entry_test",
393    size = "small",
394    srcs = ["log_entry_test.cc"],
395    copts = ABSL_TEST_COPTS,
396    linkopts = ABSL_DEFAULT_LINKOPTS,
397    deps = [
398        ":log_entry",
399        "//absl/base:config",
400        "//absl/base:core_headers",
401        "//absl/base:log_severity",
402        "//absl/log/internal:append_truncated",
403        "//absl/log/internal:format",
404        "//absl/log/internal:test_helpers",
405        "//absl/strings",
406        "//absl/time",
407        "//absl/types:span",
408        "@com_google_googletest//:gtest_main",
409    ],
410)
411
412cc_test(
413    name = "log_format_test",
414    size = "small",
415    srcs = ["log_format_test.cc"],
416    copts = ABSL_TEST_COPTS,
417    linkopts = ABSL_DEFAULT_LINKOPTS,
418    deps = [
419        ":check",
420        ":log",
421        ":scoped_mock_log",
422        "//absl/log/internal:test_matchers",
423        "//absl/strings",
424        "//absl/strings:str_format",
425        "//absl/types:optional",
426        "@com_google_googletest//:gtest_main",
427    ],
428)
429
430cc_test(
431    name = "log_macro_hygiene_test",
432    size = "small",
433    srcs = ["log_macro_hygiene_test.cc"],
434    copts = ABSL_TEST_COPTS,
435    linkopts = ABSL_DEFAULT_LINKOPTS,
436    deps = [
437        ":log",
438        ":scoped_mock_log",
439        "//absl/base:core_headers",
440        "//absl/base:log_severity",
441        "@com_google_googletest//:gtest_main",
442    ],
443)
444
445cc_test(
446    name = "log_sink_test",
447    size = "medium",
448    srcs = ["log_sink_test.cc"],
449    copts = ABSL_TEST_COPTS,
450    linkopts = ABSL_DEFAULT_LINKOPTS,
451    tags = [
452        "no_test:os:ios",
453        "no_test_ios",
454        "no_test_wasm",
455    ],
456    deps = [
457        ":log",
458        ":log_sink",
459        ":log_sink_registry",
460        ":scoped_mock_log",
461        "//absl/base:core_headers",
462        "//absl/log/internal:test_actions",
463        "//absl/log/internal:test_helpers",
464        "//absl/log/internal:test_matchers",
465        "//absl/strings",
466        "@com_google_googletest//:gtest_main",
467    ],
468)
469
470cc_test(
471    name = "log_streamer_test",
472    size = "medium",
473    srcs = ["log_streamer_test.cc"],
474    copts = ABSL_TEST_COPTS,
475    linkopts = ABSL_DEFAULT_LINKOPTS,
476    deps = [
477        ":log",
478        ":log_streamer",
479        ":scoped_mock_log",
480        "//absl/base",
481        "//absl/base:core_headers",
482        "//absl/base:log_severity",
483        "//absl/log/internal:test_actions",
484        "//absl/log/internal:test_helpers",
485        "//absl/log/internal:test_matchers",
486        "//absl/strings",
487        "@com_google_googletest//:gtest_main",
488    ],
489)
490
491cc_test(
492    name = "log_modifier_methods_test",
493    size = "small",
494    srcs = ["log_modifier_methods_test.cc"],
495    copts = ABSL_TEST_COPTS,
496    linkopts = ABSL_DEFAULT_LINKOPTS,
497    deps = [
498        ":log",
499        ":log_sink",
500        ":scoped_mock_log",
501        "//absl/log/internal:test_actions",
502        "//absl/log/internal:test_helpers",
503        "//absl/log/internal:test_matchers",
504        "//absl/strings",
505        "//absl/time",
506        "@com_google_googletest//:gtest_main",
507    ],
508)
509
510cc_test(
511    name = "scoped_mock_log_test",
512    size = "small",
513    srcs = ["scoped_mock_log_test.cc"],
514    copts = ABSL_TEST_COPTS,
515    linkopts = ABSL_DEFAULT_LINKOPTS,
516    linkstatic = 1,
517    tags = [
518        "no_test:os:ios",
519        "no_test_ios",
520        "no_test_wasm",
521    ],
522    deps = [
523        ":globals",
524        ":log",
525        ":scoped_mock_log",
526        "//absl/base:core_headers",
527        "//absl/base:log_severity",
528        "//absl/log/internal:test_helpers",
529        "//absl/log/internal:test_matchers",
530        "//absl/memory",
531        "//absl/strings",
532        "//absl/synchronization",
533        "@com_google_googletest//:gtest_main",
534    ],
535)
536
537cc_test(
538    name = "stripping_test",
539    size = "small",
540    srcs = ["stripping_test.cc"],
541    copts = ABSL_TEST_COPTS,
542    linkopts = ABSL_DEFAULT_LINKOPTS,
543    # This test requires all code live in the binary (instead of shared libraries)
544    # because we test for the existence of specific literals in the binary.
545    linkstatic = 1,
546    deps = [
547        ":check",
548        ":log",
549        "//absl/base:log_severity",
550        "//absl/base:strerror",
551        "//absl/flags:program_name",
552        "//absl/log/internal:test_helpers",
553        "//absl/strings",
554        "//absl/strings:str_format",
555        "@com_google_googletest//:gtest_main",
556    ],
557)
558
559cc_test(
560    name = "structured_test",
561    size = "small",
562    srcs = ["structured_test.cc"],
563    copts = ABSL_TEST_COPTS,
564    linkopts = ABSL_DEFAULT_LINKOPTS,
565    deps = [
566        ":log",
567        ":scoped_mock_log",
568        ":structured",
569        "//absl/base:core_headers",
570        "//absl/log/internal:test_helpers",
571        "//absl/log/internal:test_matchers",
572        "@com_google_googletest//:gtest_main",
573    ],
574)
575
576cc_binary(
577    name = "log_benchmark",
578    testonly = 1,
579    srcs = ["log_benchmark.cc"],
580    copts = ABSL_TEST_COPTS,
581    linkopts = ABSL_DEFAULT_LINKOPTS,
582    tags = ["benchmark"],
583    deps = [
584        ":check",
585        ":flags",
586        ":globals",
587        ":log",
588        ":log_entry",
589        ":log_sink",
590        ":log_sink_registry",
591        "//absl/base:core_headers",
592        "//absl/base:log_severity",
593        "//absl/flags:flag",
594        "//absl/log/internal:flags",
595        "@com_github_google_benchmark//:benchmark_main",
596    ],
597)
598