blob: fe8db3aaa2394ace042da481f08ab7efd43b03db [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",
Brian Silvermanb47f5552020-10-01 15:08:14 -070025 "//aos:thread_local",
John Park33858a32018-09-28 23:05:48 -070026 "//aos/libc:aos_strerror",
Austin Schuha0c41ba2020-09-10 22:59:14 -070027 "//aos/stl_mutex",
28 "//aos/time",
29 "//aos/type_traits",
Brian Silverman1463c092020-10-30 17:28:24 -070030 "@com_github_google_glog//:glog",
Austin Schuha0c41ba2020-09-10 22:59:14 -070031 "@com_google_absl//absl/base",
Philipp Schrader9b1790e2018-03-10 20:21:30 -080032 ],
Brian Silvermancb5da1f2015-12-05 22:19:58 -050033)
Austin Schuhf0736512015-09-07 01:22:16 -070034
James Kuszmaul011b67a2019-12-15 12:52:34 -080035cc_library(
36 name = "log_namer",
37 srcs = ["log_namer.cc"],
38 hdrs = ["log_namer.h"],
39 copts = ["-Wno-format-nonliteral"],
Philipp Schraderdada1072020-11-24 11:34:46 -080040 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul011b67a2019-12-15 12:52:34 -080041 visibility = ["//visibility:public"],
42 deps = [
43 "//aos:configuration",
44 "@com_github_google_glog//:glog",
45 ],
46)
47
Brian Silverman100534c2015-09-07 15:51:23 -040048cc_library(
Philipp Schrader9b1790e2018-03-10 20:21:30 -080049 name = "sizes",
50 hdrs = [
51 "sizes.h",
52 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080053 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh044e18b2015-10-21 20:17:09 -070054)
55
Brian Silvermancb5da1f2015-12-05 22:19:58 -050056cc_test(
Philipp Schrader9b1790e2018-03-10 20:21:30 -080057 name = "implementations_test",
58 srcs = [
59 "implementations_test.cc",
60 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080061 target_compatible_with = ["@platforms//os:linux"],
Philipp Schrader9b1790e2018-03-10 20:21:30 -080062 deps = [
63 ":implementations",
64 ":logging",
65 "//aos/testing:googletest",
Brian Silverman1463c092020-10-30 17:28:24 -070066 "@com_github_google_glog//:glog",
Philipp Schrader9b1790e2018-03-10 20:21:30 -080067 ],
Brian Silvermancb5da1f2015-12-05 22:19:58 -050068)
69
70cc_library(
Philipp Schrader9b1790e2018-03-10 20:21:30 -080071 name = "printf_formats",
72 hdrs = [
73 "printf_formats.h",
74 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080075 target_compatible_with = ["@platforms//os:linux"],
Philipp Schrader9b1790e2018-03-10 20:21:30 -080076 visibility = ["//visibility:public"],
77 deps = [
John Park33858a32018-09-28 23:05:48 -070078 "//aos:macros",
Philipp Schrader9b1790e2018-03-10 20:21:30 -080079 ],
Austin Schuh044e18b2015-10-21 20:17:09 -070080)
81
82cc_library(
Philipp Schrader9b1790e2018-03-10 20:21:30 -080083 name = "implementations",
Philipp Schraderdada1072020-11-24 11:34:46 -080084 target_compatible_with = ["@platforms//os:linux"],
Philipp Schrader9b1790e2018-03-10 20:21:30 -080085 visibility = ["//visibility:public"],
86 deps = [
87 ":logging",
Philipp Schrader9b1790e2018-03-10 20:21:30 -080088 ],
Brian Silvermanf480a612015-09-13 02:22:01 -040089)
Tyler Chatow67ddb032020-01-12 14:30:04 -080090
91flatbuffer_cc_library(
92 name = "log_message_fbs",
93 srcs = ["log_message.fbs"],
Tyler Chatow67ddb032020-01-12 14:30:04 -080094 gen_reflections = 1,
Philipp Schraderdada1072020-11-24 11:34:46 -080095 target_compatible_with = ["@platforms//os:linux"],
Austin Schuha4f69d62020-02-28 13:58:14 -080096 visibility = ["//visibility:public"],
Tyler Chatow67ddb032020-01-12 14:30:04 -080097)
Austin Schuha9df9ad2021-06-16 14:49:39 -070098
99cc_static_flatbuffer(
100 name = "log_message_schema",
101 function = "aos::logging::LogMessageFbsSchema",
102 target = ":log_message_fbs_reflection_out",
103 visibility = ["//visibility:public"],
104)
Sarah Newmana7e87932022-04-11 15:00:03 -0700105
106flatbuffer_cc_library(
107 name = "dynamic_log_command_fbs",
108 srcs = [
109 "dynamic_log_command.fbs",
110 ],
111 gen_reflections = 1,
112 visibility = ["//visibility:public"],
113)
114
115cc_library(
116 name = "dynamic_logging",
117 srcs = ["dynamic_logging.cc"],
118 hdrs = ["dynamic_logging.h"],
119 visibility = ["//visibility:public"],
120 deps = [
121 ":dynamic_log_command_fbs",
122 "//aos/events:shm_event_loop",
123 "@com_github_google_glog//:glog",
124 ],
125)
126
127cc_test(
128 name = "dynamic_logging_test",
129 srcs = ["dynamic_logging_test.cc"],
130 data = [
131 "//aos/events:pingpong_config",
132 ],
133 deps = [
134 ":dynamic_logging",
135 "//aos/events:simulated_event_loop",
136 "//aos/testing:googletest",
137 "//aos/testing:path",
138 ],
139)