blob: e63e71f292b35609b7987e7f5dc9bbb4c7b63422 (
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
|
# 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)
# 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_module_library(pw_system.config
HEADERS
public/pw_system/config.h
)
pw_add_module_library(pw_system.log
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_module_library(pw_system.log_backend
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.metadata
pw_multisink
pw_result
pw_sync.interrupt_spin_lock
pw_sync.lock_annotations
pw_tokenizer
pw_tokenizer.global_handler_with_payload.facade
SOURCES
log_backend.cc
)
pw_add_facade(pw_system.rpc_server
PUBLIC_DEPS
pw_system.config
pw_thread.thread_core
HEADERS
public/pw_system/rpc_server.h
)
pw_add_module_library(pw_system.hdlc_rpc_server
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_module_library(pw_system.io
HEADERS
public/pw_system/io.h
PUBLIC_DEPS
pw_stream
)
pw_add_module_library(pw_system.init
PRIVATE_DEPS
pw_system.log
pw_system.rpc_server
pw_rpc.nanopb.echo_service
pw_thread.thread
SOURCES
init.cc
HEADERS
public/pw_system/init.h
)
pw_add_module_library(pw_system.work_queue
PRIVATE_DEPS
pw_work_queue
SOURCES
work_queue.cc
HEADERS
public/pw_system/work_queue.h
)
pw_add_module_library(pw_system.target_io
PRIVATE_DEPS
pw_system.io
pw_stream
pw_stream.sys_io_stream
SOURCES
target_io.cc
)
pw_add_module_library(pw_system.target_hooks
PUBLIC_DEPS
pw_thread
HEADERS
public/pw_system/target_hooks.h
)
pw_add_module_library(pw_system.stl_target_hooks
PRIVATE_DEPS
pw_thread.sleep
pw_thread.thread
pw_thread_stl.thread
SOURCES
stl_target_hooks.cc
)
pw_add_module_library(pw_system.freertos_target_hooks
SOURCES
freertos_target_hooks.cc
PRIVATE_DEPS
pw_thread.thread
pw_thread_freertos.thread
# TODO(pwbug/317): This should depend on FreeRTOS but our third parties
# currently do not have CMake support.
)
pw_add_module_library(pw_system.system_example
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
)
|