blob: ea5d15c701bdcba85d2c72c1bbab267f1833e55c [file] [log] [blame]
Tyler Chatow67ddb032020-01-12 14:30:04 -08001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
Austin Schuha9df9ad2021-06-16 14:49:39 -07002load("//aos:flatbuffers.bzl", "cc_static_flatbuffer")
Tyler Chatow67ddb032020-01-12 14:30:04 -08003
Brian Silvermancb5da1f2015-12-05 22:19:58 -05004# The primary client logging interface.
5cc_library(
Philipp Schrader9b1790e2018-03-10 20:21:30 -08006 name = "logging",
7 srcs = [
8 "context.cc",
Austin Schuha0c41ba2020-09-10 22:59:14 -07009 "implementations.cc",
Philipp Schrader9b1790e2018-03-10 20:21:30 -080010 "interface.cc",
11 ],
12 hdrs = [
13 "context.h",
Austin Schuha0c41ba2020-09-10 22:59:14 -070014 "implementations.h",
Philipp Schrader9b1790e2018-03-10 20:21:30 -080015 "interface.h",
16 "logging.h",
17 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080018 target_compatible_with = ["@platforms//os:linux"],
Philipp Schrader9b1790e2018-03-10 20:21:30 -080019 visibility = ["//visibility:public"],
20 deps = [
Austin Schuha0c41ba2020-09-10 22:59:14 -070021 ":printf_formats",
Philipp Schrader9b1790e2018-03-10 20:21:30 -080022 ":sizes",
John Park33858a32018-09-28 23:05:48 -070023 "//aos:die",
24 "//aos:macros",
25 "//aos/libc:aos_strerror",
Austin Schuha0c41ba2020-09-10 22:59:14 -070026 "//aos/stl_mutex",
27 "//aos/time",
28 "//aos/type_traits",
Brian Silverman1463c092020-10-30 17:28:24 -070029 "@com_github_google_glog//:glog",
Austin Schuha0c41ba2020-09-10 22:59:14 -070030 "@com_google_absl//absl/base",
Philipp Schrader9b1790e2018-03-10 20:21:30 -080031 ],
Brian Silvermancb5da1f2015-12-05 22:19:58 -050032)
Austin Schuhf0736512015-09-07 01:22:16 -070033
James Kuszmaul011b67a2019-12-15 12:52:34 -080034cc_library(
35 name = "log_namer",
36 srcs = ["log_namer.cc"],
37 hdrs = ["log_namer.h"],
38 copts = ["-Wno-format-nonliteral"],
Philipp Schraderdada1072020-11-24 11:34:46 -080039 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul011b67a2019-12-15 12:52:34 -080040 visibility = ["//visibility:public"],
41 deps = [
42 "//aos:configuration",
43 "@com_github_google_glog//:glog",
44 ],
45)
46
Brian Silverman100534c2015-09-07 15:51:23 -040047cc_library(
Philipp Schrader9b1790e2018-03-10 20:21:30 -080048 name = "sizes",
49 hdrs = [
50 "sizes.h",
51 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080052 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh044e18b2015-10-21 20:17:09 -070053)
54
Brian Silvermancb5da1f2015-12-05 22:19:58 -050055cc_test(
Philipp Schrader9b1790e2018-03-10 20:21:30 -080056 name = "implementations_test",
57 srcs = [
58 "implementations_test.cc",
59 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080060 target_compatible_with = ["@platforms//os:linux"],
Philipp Schrader9b1790e2018-03-10 20:21:30 -080061 deps = [
Philipp Schrader9b1790e2018-03-10 20:21:30 -080062 ":logging",
63 "//aos/testing:googletest",
Brian Silverman1463c092020-10-30 17:28:24 -070064 "@com_github_google_glog//:glog",
Philipp Schrader9b1790e2018-03-10 20:21:30 -080065 ],
Brian Silvermancb5da1f2015-12-05 22:19:58 -050066)
67
68cc_library(
Philipp Schrader9b1790e2018-03-10 20:21:30 -080069 name = "printf_formats",
70 hdrs = [
71 "printf_formats.h",
72 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080073 target_compatible_with = ["@platforms//os:linux"],
Philipp Schrader9b1790e2018-03-10 20:21:30 -080074 visibility = ["//visibility:public"],
75 deps = [
John Park33858a32018-09-28 23:05:48 -070076 "//aos:macros",
Philipp Schrader9b1790e2018-03-10 20:21:30 -080077 ],
Austin Schuh044e18b2015-10-21 20:17:09 -070078)
79
Tyler Chatow67ddb032020-01-12 14:30:04 -080080flatbuffer_cc_library(
81 name = "log_message_fbs",
82 srcs = ["log_message.fbs"],
Tyler Chatow67ddb032020-01-12 14:30:04 -080083 gen_reflections = 1,
Philipp Schraderdada1072020-11-24 11:34:46 -080084 target_compatible_with = ["@platforms//os:linux"],
Austin Schuha4f69d62020-02-28 13:58:14 -080085 visibility = ["//visibility:public"],
Tyler Chatow67ddb032020-01-12 14:30:04 -080086)
Austin Schuha9df9ad2021-06-16 14:49:39 -070087
88cc_static_flatbuffer(
89 name = "log_message_schema",
90 function = "aos::logging::LogMessageFbsSchema",
91 target = ":log_message_fbs_reflection_out",
92 visibility = ["//visibility:public"],
93)
Sarah Newmana7e87932022-04-11 15:00:03 -070094
95flatbuffer_cc_library(
96 name = "dynamic_log_command_fbs",
97 srcs = [
98 "dynamic_log_command.fbs",
99 ],
100 gen_reflections = 1,
101 visibility = ["//visibility:public"],
102)
103
104cc_library(
105 name = "dynamic_logging",
106 srcs = ["dynamic_logging.cc"],
107 hdrs = ["dynamic_logging.h"],
108 visibility = ["//visibility:public"],
109 deps = [
110 ":dynamic_log_command_fbs",
111 "//aos/events:shm_event_loop",
112 "@com_github_google_glog//:glog",
113 ],
114)
115
116cc_test(
117 name = "dynamic_logging_test",
118 srcs = ["dynamic_logging_test.cc"],
119 data = [
120 "//aos/events:pingpong_config",
121 ],
122 deps = [
123 ":dynamic_logging",
124 "//aos/events:simulated_event_loop",
125 "//aos/testing:googletest",
126 "//aos/testing:path",
127 ],
128)