• 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(
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    ],
157)
158
159cc_library(
160    name = "log_message",
161    srcs = ["log_message.cc"],
162    hdrs = ["log_message.h"],
163    copts = ABSL_DEFAULT_COPTS,
164    linkopts = ABSL_DEFAULT_LINKOPTS,
165    visibility = [
166        "//absl/log:__pkg__",
167    ],
168    deps = [
169        ":append_truncated",
170        ":format",
171        ":globals",
172        ":log_sink_set",
173        ":nullguard",
174        ":proto",
175        "//absl/base",
176        "//absl/base:config",
177        "//absl/base:core_headers",
178        "//absl/base:errno_saver",
179        "//absl/base:log_severity",
180        "//absl/base:raw_logging_internal",
181        "//absl/base:strerror",
182        "//absl/container:inlined_vector",
183        "//absl/debugging:examine_stack",
184        "//absl/log:globals",
185        "//absl/log:log_entry",
186        "//absl/log:log_sink",
187        "//absl/log:log_sink_registry",
188        "//absl/memory",
189        "//absl/strings",
190        "//absl/time",
191        "//absl/types:span",
192    ],
193)
194
195cc_library(
196    name = "append_truncated",
197    hdrs = ["append_truncated.h"],
198    copts = ABSL_DEFAULT_COPTS,
199    linkopts = ABSL_DEFAULT_LINKOPTS,
200    deps = [
201        "//absl/base:config",
202        "//absl/strings",
203        "//absl/types:span",
204    ],
205)
206
207cc_library(
208    name = "log_sink_set",
209    srcs = ["log_sink_set.cc"],
210    hdrs = ["log_sink_set.h"],
211    copts = ABSL_DEFAULT_COPTS,
212    linkopts = ABSL_DEFAULT_LINKOPTS + select({
213        "//conditions:default": [],
214        "@platforms//os:android": ["-llog"],
215    }),
216    deps = [
217        ":config",
218        ":globals",
219        "//absl/base",
220        "//absl/base:config",
221        "//absl/base:core_headers",
222        "//absl/base:log_severity",
223        "//absl/base:no_destructor",
224        "//absl/base:raw_logging_internal",
225        "//absl/cleanup",
226        "//absl/log:globals",
227        "//absl/log:log_entry",
228        "//absl/log:log_sink",
229        "//absl/strings",
230        "//absl/synchronization",
231        "//absl/types:span",
232    ],
233)
234
235cc_library(
236    name = "nullguard",
237    srcs = ["nullguard.cc"],
238    hdrs = ["nullguard.h"],
239    copts = ABSL_DEFAULT_COPTS,
240    linkopts = ABSL_DEFAULT_LINKOPTS,
241    deps = [
242        "//absl/base:config",
243        "//absl/base:core_headers",
244    ],
245)
246
247cc_library(
248    name = "nullstream",
249    hdrs = ["nullstream.h"],
250    copts = ABSL_DEFAULT_COPTS,
251    linkopts = ABSL_DEFAULT_LINKOPTS,
252    deps = [
253        "//absl/base:config",
254        "//absl/base:core_headers",
255        "//absl/base:log_severity",
256        "//absl/strings",
257    ],
258)
259
260cc_library(
261    name = "strip",
262    hdrs = ["strip.h"],
263    copts = ABSL_DEFAULT_COPTS,
264    linkopts = ABSL_DEFAULT_LINKOPTS,
265    deps = [
266        ":log_message",
267        ":nullstream",
268        "//absl/base:log_severity",
269    ],
270)
271
272cc_library(
273    name = "structured",
274    hdrs = ["structured.h"],
275    copts = ABSL_DEFAULT_COPTS,
276    linkopts = ABSL_DEFAULT_LINKOPTS,
277    deps = [
278        ":log_message",
279        "//absl/base:config",
280        "//absl/strings",
281    ],
282)
283
284cc_library(
285    name = "test_actions",
286    testonly = True,
287    srcs = ["test_actions.cc"],
288    hdrs = ["test_actions.h"],
289    copts = ABSL_DEFAULT_COPTS,
290    linkopts = ABSL_DEFAULT_LINKOPTS,
291    deps = [
292        "//absl/base:config",
293        "//absl/base:core_headers",
294        "//absl/base:log_severity",
295        "//absl/log:log_entry",
296        "//absl/strings",
297        "//absl/time",
298    ] + select({
299        "//absl:msvc_compiler": [],
300        "//conditions:default": [
301        ],
302    }),
303)
304
305cc_library(
306    name = "test_helpers",
307    testonly = True,
308    srcs = ["test_helpers.cc"],
309    hdrs = ["test_helpers.h"],
310    copts = ABSL_DEFAULT_COPTS,
311    linkopts = ABSL_DEFAULT_LINKOPTS,
312    deps = [
313        ":globals",
314        "//absl/base:config",
315        "//absl/base:log_severity",
316        "//absl/log:globals",
317        "//absl/log:initialize",
318        "@com_google_googletest//:gtest",
319    ],
320)
321
322cc_library(
323    name = "test_matchers",
324    testonly = True,
325    srcs = ["test_matchers.cc"],
326    hdrs = ["test_matchers.h"],
327    copts = ABSL_DEFAULT_COPTS,
328    linkopts = ABSL_DEFAULT_LINKOPTS,
329    deps = [
330        ":test_helpers",
331        "//absl/base:config",
332        "//absl/base:core_headers",
333        "//absl/base:log_severity",
334        "//absl/log:log_entry",
335        "//absl/strings",
336        "//absl/time",
337        "@com_google_googletest//:gtest",
338    ] + select({
339        "//absl:msvc_compiler": [],
340        "//conditions:default": [
341        ],
342    }),
343)
344
345cc_library(
346    name = "voidify",
347    hdrs = ["voidify.h"],
348    copts = ABSL_DEFAULT_COPTS,
349    linkopts = ABSL_DEFAULT_LINKOPTS,
350    deps = ["//absl/base:config"],
351)
352
353cc_library(
354    name = "proto",
355    srcs = ["proto.cc"],
356    hdrs = ["proto.h"],
357    copts = ABSL_DEFAULT_COPTS,
358    linkopts = ABSL_DEFAULT_LINKOPTS,
359    deps = [
360        "//absl/base",
361        "//absl/base:config",
362        "//absl/base:core_headers",
363        "//absl/strings",
364        "//absl/types:span",
365    ],
366)
367
368cc_library(
369    name = "fnmatch",
370    srcs = ["fnmatch.cc"],
371    hdrs = ["fnmatch.h"],
372    copts = ABSL_DEFAULT_COPTS,
373    linkopts = ABSL_DEFAULT_LINKOPTS,
374    deps = [
375        "//absl/base:config",
376        "//absl/strings",
377    ],
378)
379
380# Test targets
381cc_test(
382    name = "stderr_log_sink_test",
383    size = "small",
384    srcs = ["stderr_log_sink_test.cc"],
385    copts = ABSL_TEST_COPTS,
386    linkopts = ABSL_DEFAULT_LINKOPTS,
387    tags = [
388        "no_test:os:android",
389        "no_test:os:ios",
390        "no_test_android",
391        "no_test_darwin_x86_64",
392        "no_test_ios",
393        "no_test_wasm",
394    ],
395    deps = [
396        ":test_helpers",
397        "//absl/base:core_headers",
398        "//absl/base:log_severity",
399        "//absl/log",
400        "//absl/log:globals",
401        "@com_google_googletest//:gtest",
402        "@com_google_googletest//:gtest_main",
403    ],
404)
405
406cc_test(
407    name = "fnmatch_test",
408    srcs = ["fnmatch_test.cc"],
409    copts = ABSL_TEST_COPTS,
410    linkopts = ABSL_DEFAULT_LINKOPTS,
411    deps = [
412        ":fnmatch",
413        "@com_google_googletest//:gtest",
414        "@com_google_googletest//:gtest_main",
415    ],
416)
417
418cc_test(
419    name = "fnmatch_benchmark",
420    srcs = ["fnmatch_benchmark.cc"],
421    copts = ABSL_TEST_COPTS,
422    linkopts = ABSL_DEFAULT_LINKOPTS,
423    tags = ["benchmark"],
424    deps = [
425        ":fnmatch",
426        "@com_github_google_benchmark//:benchmark_main",
427    ],
428)
429