blob: 7e1afc9756fb4ba1d403e53023f7815cb8c8f72c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
|
# Copyright 2022 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
include($ENV{PW_ROOT}/pw_build/pigweed.cmake)
include($ENV{PW_ROOT}/pw_system/backend.cmake)
# WARNING: Many of the dependencies in this file are missing and need to be
# added/updated. This is provided as a starting point, but currently does not
# work.
pw_add_library(pw_system.config INTERFACE
HEADERS
public/pw_system/config.h
PUBLIC_INCLUDES
public
)
pw_add_library(pw_system.log STATIC
PUBLIC_DEPS
pw_log_rpc.log_service
pw_log_rpc.rpc_log_drain_thread
pw_multisink
PRIVATE_DEPS
pw_system.config
pw_system.rpc_server
pw_log_rpc.rpc_log_drain
pw_sync.lock_annotations
pw_sync.mutex
HEADERS
pw_system_private/log.h
SOURCES
log.cc
)
pw_add_library(pw_system.log_backend STATIC
PRIVATE_DEPS
pw_system.config
pw_system.log
pw_bytes
pw_chrono.system_clock
pw_log.facade
pw_log.proto_utils
pw_log_string.handler.facade
pw_log_tokenized.handler
pw_log_tokenized.metadata
pw_multisink
pw_result
pw_sync.interrupt_spin_lock
pw_sync.lock_annotations
pw_tokenizer
SOURCES
log_backend.cc
)
pw_add_facade(pw_system.rpc_server INTERFACE
BACKEND
pw_system.rpc_server_BACKEND
HEADERS
public/pw_system/rpc_server.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_system.config
pw_thread.thread_core
)
pw_add_library(pw_system.hdlc_rpc_server STATIC
PRIVATE_DEPS
pw_assert
pw_hdlc.pw_rpc
pw_hdlc.rpc_channel_output
pw_sync.mutex
pw_system.config
pw_system.io
pw_system.rpc_server.facade
pw_system.target_io
pw_thread.thread_core
SOURCES
hdlc_rpc_server.cc
)
pw_add_library(pw_system.thread_snapshot_service STATIC
HEADERS
public/pw_system/thread_snapshot_service.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_thread.thread_snapshot_service
SOURCES
thread_snapshot_service.cc
)
pw_add_library(pw_system.transfer_handlers STATIC
HEADERS
public/pw_system/transfer_handlers.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_persistent_ram
pw_trace_tokenized.config
pw_transfer
pw_transfer.proto.pwpb
SOURCES
transfer_handlers.cc
)
pw_add_library(pw_system.file_manager STATIC
HEADERS
public/pw_system/file_manager.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_system.config
pw_system.transfer_handlers
pw_persistent_ram.flat_file_system_entry
PRIVATE_DEPS
pw_system.trace_service
SOURCES
file_manager.cc
)
pw_add_library(pw_system.transfer_service STATIC
HEADERS
public/pw_system/transfer_service.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_transfer
PRIVATE_DEPS
pw_system.file_manager
SOURCES
transfer_service.cc
)
pw_add_library(pw_system.file_service STATIC
HEADERS
public/pw_system/file_service.h
PUBLIC_INCLUDES
public
PRIVATE_DEPS
pw_system.file_manager
SOURCES
file_service.cc
)
pw_add_library(pw_system.trace_service STATIC
HEADERS
public/pw_system/trace_service.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_system.transfer_handlers
PRIVATE_DEPS
pw_persistent_ram
pw_trace_tokenized.trace_service_pwpb
SOURCES
trace_service.cc
)
pw_add_library(pw_system.io INTERFACE
HEADERS
public/pw_system/io.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_stream
)
pw_add_library(pw_system.init STATIC
HEADERS
public/pw_system/init.h
PUBLIC_INCLUDES
public
SOURCES
init.cc
PRIVATE_DEPS
pw_system.file_service
pw_system.log
pw_system.rpc_server
pw_system.target_hooks
pw_system.thread_snapshot_service
pw_system.trace_service
pw_system.transfer_service
pw_system.file_manager
pw_system.work_queue
pw_rpc.pwpb.echo_service
pw_metric.metric_service_pwpb
pw_thread.thread
pw_trace
)
pw_add_library(pw_system.work_queue STATIC
HEADERS
public/pw_system/work_queue.h
PUBLIC_INCLUDES
public
SOURCES
work_queue.cc
PUBLIC_DEPS
pw_work_queue
PRIVATE_DEPS
pw_system.config
)
pw_add_library(pw_system.target_io STATIC
PRIVATE_DEPS
pw_system.io
pw_stream
pw_stream.sys_io_stream
SOURCES
target_io.cc
)
pw_add_facade(pw_system.target_hooks INTERFACE
BACKEND
pw_system.target_hooks_BACKEND
HEADERS
public/pw_system/target_hooks.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_thread.thread
)
pw_add_library(pw_system.stl_target_hooks STATIC
PRIVATE_DEPS
pw_system.config
pw_thread.sleep
pw_thread.thread
pw_thread_stl.thread
SOURCES
stl_target_hooks.cc
)
pw_add_library(pw_system.freertos_target_hooks STATIC
SOURCES
freertos_target_hooks.cc
PRIVATE_DEPS
pw_system.config
pw_thread.thread
pw_thread_freertos.thread
# TODO: b/234876414 - This should depend on FreeRTOS but our third parties
# currently do not have CMake support.
)
pw_add_library(pw_system.zephyr_target_hooks STATIC
SOURCES
zephyr_target_hooks.cc
PRIVATE_DEPS
pw_system.target_hooks.facade
pw_thread.thread
pw_thread_zephyr.thread
)
pw_add_library(pw_system.system_example STATIC
PRIVATE_DEPS
pw_system.init
pw_system.io
pw_system.target_hooks
pw_stream
pw_stream.sys_io_stream
SOURCES
example_user_app_init.cc
)
|