blob: bfb8a95a7dc2c96c6d1568e98ebd63cf9bb4c19d [file] [log] [blame]
zhanglongxia896fa512021-09-23 12:06:53 +08001//
2// Copyright (c) 2021, The OpenThread Authors.
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions are met:
7// 1. Redistributions of source code must retain the above copyright
8// notice, this list of conditions and the following disclaimer.
9// 2. Redistributions in binary form must reproduce the above copyright
10// notice, this list of conditions and the following disclaimer in the
11// documentation and/or other materials provided with the distribution.
12// 3. Neither the name of the copyright holder nor the
13// names of its contributors may be used to endorse or promote products
14// derived from this software without specific prior written permission.
15//
16// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26// POSSIBILITY OF SUCH DAMAGE.
27//
28
Bob Badoure887dec2022-02-11 11:02:49 -080029package {
Aditya Choudharyea4967b2024-02-05 15:43:05 +000030 default_team: "trendy_team_fwk_thread_network",
Bob Badoure887dec2022-02-11 11:02:49 -080031 default_applicable_licenses: ["external_openthread_license"],
32}
33
34// Added automatically by a large-scale-change that took the approach of
35// 'apply every license found to every target'. While this makes sure we respect
36// every license restriction, it may not be entirely correct.
37//
38// e.g. GPL in an MIT project might only apply to the contrib/ directory.
39//
40// Please consider splitting the single license below into multiple licenses,
41// taking care not to lose any license_kind information, and overriding the
42// default license using the 'licenses: [...]' property on targets as needed.
43//
44// For unused files, consider creating a 'fileGroup' with "//visibility:private"
45// to attach the license to, and including a comment whether the files may be
46// used in the current project.
47//
48// large-scale-change included anything that looked like it might be a license
49// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
50//
51// Please consider removing redundant or irrelevant files from 'license_text:'.
52// See: http://go/android-license-faq
53license {
54 name: "external_openthread_license",
55 visibility: [":__subpackages__"],
56 license_kinds: [
57 "SPDX-license-identifier-Apache-2.0",
58 "SPDX-license-identifier-BSD",
59 "SPDX-license-identifier-BSD-3-Clause",
60 "SPDX-license-identifier-GPL",
61 "SPDX-license-identifier-GPL-2.0",
62 "SPDX-license-identifier-LGPL",
63 "SPDX-license-identifier-MIT",
64 "legacy_unencumbered",
65 ],
66 license_text: [
67 "LICENSE",
68 "NOTICE",
69 ],
70}
71
zhanglongxia896fa512021-09-23 12:06:53 +080072cc_defaults {
Aditya Choudharyea4967b2024-02-05 15:43:05 +000073 name: "ot_posix_cflags_defaults",
zhanglongxia896fa512021-09-23 12:06:53 +080074 cflags: [
Yakun Xu07935952022-04-13 17:43:15 +080075 "-DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\"",
76 "-DOPENTHREAD_CONFIG_FILE=\"src/android/openthread-android-config.h\"",
Yang Sunaa4e85e2024-07-10 12:55:58 +080077 "-DOPENTHREAD_PROJECT_LIB_CONFIG_FILE=\"src/android/openthread-android-spinel-config.h\"",
zhanglongxia896fa512021-09-23 12:06:53 +080078 "-DOPENTHREAD_FTD=1",
79 "-DOPENTHREAD_POSIX=1",
zhanglongxia896fa512021-09-23 12:06:53 +080080 "-DOPENTHREAD_POSIX_CONFIG_DAEMON_ENABLE=1",
Yakun Xu07935952022-04-13 17:43:15 +080081 "-DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"src/android/openthread-core-android-config.h\"",
82 "-DOPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=1",
Li Cao65c3a222022-08-07 15:22:47 +080083 "-DOPENTHREAD_CONFIG_JOINER_ENABLE=1",
zhanglongxia896fa512021-09-23 12:06:53 +080084 "-DPACKAGE=\"openthread\"",
85 "-DPACKAGE_BUGREPORT=\"openthread-devel@googlegroups.com\"",
86 "-DPACKAGE_NAME=\"OPENTHREAD\"",
87 "-DPACKAGE_TARNAME=\"openthread\"",
88 "-DPACKAGE_URL=\"http://github.com/openthread/openthread\"",
zhanglongxia896fa512021-09-23 12:06:53 +080089 "-DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\"",
Zhanglong Xiabc9812c2023-10-12 15:07:30 +080090 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=0",
91 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_VENDOR_INTERFACE_ENABLE=1",
zhanglongxia896fa512021-09-23 12:06:53 +080092 ],
93}
94
95genrule {
96 name: "ot_version_header",
zhanglongxia1d2f7a02021-10-26 14:00:51 +080097 cmd: "$(location src/android/config-android-version-gen.sh) < $(in) > $(out)",
zhanglongxia896fa512021-09-23 12:06:53 +080098 srcs: ["src/android/openthread-config-android-version.h.in"],
99 out: ["openthread-config-android-version.h"],
100 tool_files: [
101 "src/android/config-android-version-gen.sh",
zhanglongxia896fa512021-09-23 12:06:53 +0800102 ],
103}
104
Kangping Dongd1659f52023-07-24 18:53:26 +0800105filegroup {
106 name: "openthread_core_srcs",
zhanglongxia896fa512021-09-23 12:06:53 +0800107 srcs: [
108 "src/core/api/backbone_router_api.cpp",
109 "src/core/api/backbone_router_ftd_api.cpp",
110 "src/core/api/border_agent_api.cpp",
111 "src/core/api/border_router_api.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800112 "src/core/api/border_routing_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800113 "src/core/api/channel_manager_api.cpp",
114 "src/core/api/channel_monitor_api.cpp",
115 "src/core/api/child_supervision_api.cpp",
116 "src/core/api/coap_api.cpp",
117 "src/core/api/coap_secure_api.cpp",
118 "src/core/api/commissioner_api.cpp",
119 "src/core/api/crypto_api.cpp",
120 "src/core/api/dataset_api.cpp",
121 "src/core/api/dataset_ftd_api.cpp",
122 "src/core/api/dataset_updater_api.cpp",
123 "src/core/api/diags_api.cpp",
124 "src/core/api/dns_api.cpp",
125 "src/core/api/dns_server_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800126 "src/core/api/error_api.cpp",
127 "src/core/api/heap_api.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800128 "src/core/api/history_tracker_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800129 "src/core/api/icmp6_api.cpp",
130 "src/core/api/instance_api.cpp",
131 "src/core/api/ip6_api.cpp",
132 "src/core/api/jam_detection_api.cpp",
133 "src/core/api/joiner_api.cpp",
134 "src/core/api/link_api.cpp",
135 "src/core/api/link_metrics_api.cpp",
136 "src/core/api/link_raw_api.cpp",
137 "src/core/api/logging_api.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800138 "src/core/api/mesh_diag_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800139 "src/core/api/message_api.cpp",
140 "src/core/api/multi_radio_api.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800141 "src/core/api/nat64_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800142 "src/core/api/netdata_api.cpp",
143 "src/core/api/netdata_publisher_api.cpp",
144 "src/core/api/netdiag_api.cpp",
145 "src/core/api/network_time_api.cpp",
146 "src/core/api/ping_sender_api.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800147 "src/core/api/radio_stats_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800148 "src/core/api/random_crypto_api.cpp",
149 "src/core/api/random_noncrypto_api.cpp",
150 "src/core/api/server_api.cpp",
151 "src/core/api/sntp_api.cpp",
152 "src/core/api/srp_client_api.cpp",
153 "src/core/api/srp_client_buffers_api.cpp",
154 "src/core/api/srp_server_api.cpp",
155 "src/core/api/tasklet_api.cpp",
156 "src/core/api/tcp_api.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800157 "src/core/api/tcp_ext_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800158 "src/core/api/thread_api.cpp",
159 "src/core/api/thread_ftd_api.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800160 "src/core/api/trel_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800161 "src/core/api/udp_api.cpp",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800162 "src/core/api/verhoeff_checksum_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800163 "src/core/backbone_router/backbone_tmf.cpp",
164 "src/core/backbone_router/bbr_leader.cpp",
165 "src/core/backbone_router/bbr_local.cpp",
166 "src/core/backbone_router/bbr_manager.cpp",
167 "src/core/backbone_router/multicast_listeners_table.cpp",
168 "src/core/backbone_router/ndproxy_table.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800169 "src/core/border_router/infra_if.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800170 "src/core/border_router/routing_manager.cpp",
171 "src/core/coap/coap.cpp",
172 "src/core/coap/coap_message.cpp",
173 "src/core/coap/coap_secure.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800174 "src/core/common/appender.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800175 "src/core/common/binary_search.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800176 "src/core/common/crc16.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800177 "src/core/common/data.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800178 "src/core/common/error.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800179 "src/core/common/frame_builder.cpp",
180 "src/core/common/frame_data.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800181 "src/core/common/heap.cpp",
182 "src/core/common/heap_data.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800183 "src/core/common/heap_string.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800184 "src/core/common/log.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800185 "src/core/common/message.cpp",
186 "src/core/common/notifier.cpp",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800187 "src/core/common/offset_range.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800188 "src/core/common/preference.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800189 "src/core/common/random.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800190 "src/core/common/settings.cpp",
191 "src/core/common/string.cpp",
192 "src/core/common/tasklet.cpp",
193 "src/core/common/time_ticker.cpp",
194 "src/core/common/timer.cpp",
195 "src/core/common/tlvs.cpp",
196 "src/core/common/trickle_timer.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800197 "src/core/common/uptime.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800198 "src/core/crypto/aes_ccm.cpp",
199 "src/core/crypto/aes_ecb.cpp",
zhanglongxia9954ffa2021-10-29 11:53:30 +0800200 "src/core/crypto/crypto_platform.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800201 "src/core/crypto/hkdf_sha256.cpp",
202 "src/core/crypto/hmac_sha256.cpp",
203 "src/core/crypto/mbedtls.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800204 "src/core/crypto/sha256.cpp",
zhanglongxia9954ffa2021-10-29 11:53:30 +0800205 "src/core/crypto/storage.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800206 "src/core/diags/factory_diags.cpp",
Handa Wang0f346402023-12-04 10:13:30 +0800207 "src/core/instance/instance.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800208 "src/core/mac/channel_mask.cpp",
209 "src/core/mac/data_poll_handler.cpp",
210 "src/core/mac/data_poll_sender.cpp",
211 "src/core/mac/link_raw.cpp",
212 "src/core/mac/mac.cpp",
213 "src/core/mac/mac_filter.cpp",
214 "src/core/mac/mac_frame.cpp",
215 "src/core/mac/mac_links.cpp",
216 "src/core/mac/mac_types.cpp",
217 "src/core/mac/sub_mac.cpp",
218 "src/core/mac/sub_mac_callbacks.cpp",
219 "src/core/meshcop/announce_begin_client.cpp",
220 "src/core/meshcop/border_agent.cpp",
221 "src/core/meshcop/commissioner.cpp",
222 "src/core/meshcop/dataset.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800223 "src/core/meshcop/dataset_manager.cpp",
224 "src/core/meshcop/dataset_manager_ftd.cpp",
225 "src/core/meshcop/dataset_updater.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800226 "src/core/meshcop/energy_scan_client.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800227 "src/core/meshcop/extended_panid.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800228 "src/core/meshcop/joiner.cpp",
229 "src/core/meshcop/joiner_router.cpp",
230 "src/core/meshcop/meshcop.cpp",
231 "src/core/meshcop/meshcop_leader.cpp",
232 "src/core/meshcop/meshcop_tlvs.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800233 "src/core/meshcop/network_name.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800234 "src/core/meshcop/panid_query_client.cpp",
Handa Wang4e509762024-02-23 05:18:52 +0000235 "src/core/meshcop/secure_transport.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800236 "src/core/meshcop/timestamp.cpp",
237 "src/core/net/checksum.cpp",
238 "src/core/net/dhcp6_client.cpp",
239 "src/core/net/dhcp6_server.cpp",
240 "src/core/net/dns_client.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800241 "src/core/net/dns_dso.cpp",
242 "src/core/net/dns_platform.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800243 "src/core/net/dns_types.cpp",
244 "src/core/net/dnssd_server.cpp",
245 "src/core/net/icmp6.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800246 "src/core/net/ip4_types.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800247 "src/core/net/ip6.cpp",
248 "src/core/net/ip6_address.cpp",
249 "src/core/net/ip6_filter.cpp",
250 "src/core/net/ip6_headers.cpp",
251 "src/core/net/ip6_mpl.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800252 "src/core/net/nat64_translator.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800253 "src/core/net/nd6.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800254 "src/core/net/nd_agent.cpp",
255 "src/core/net/netif.cpp",
256 "src/core/net/sntp_client.cpp",
257 "src/core/net/socket.cpp",
258 "src/core/net/srp_client.cpp",
259 "src/core/net/srp_server.cpp",
260 "src/core/net/tcp6.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800261 "src/core/net/tcp6_ext.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800262 "src/core/net/udp6.cpp",
263 "src/core/radio/radio.cpp",
264 "src/core/radio/radio_callbacks.cpp",
265 "src/core/radio/radio_platform.cpp",
266 "src/core/radio/trel_interface.cpp",
267 "src/core/radio/trel_link.cpp",
268 "src/core/radio/trel_packet.cpp",
269 "src/core/thread/address_resolver.cpp",
270 "src/core/thread/announce_begin_server.cpp",
271 "src/core/thread/announce_sender.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800272 "src/core/thread/anycast_locator.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800273 "src/core/thread/child.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800274 "src/core/thread/child_supervision.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800275 "src/core/thread/child_table.cpp",
276 "src/core/thread/csl_tx_scheduler.cpp",
277 "src/core/thread/discover_scanner.cpp",
278 "src/core/thread/dua_manager.cpp",
279 "src/core/thread/energy_scan_server.cpp",
280 "src/core/thread/indirect_sender.cpp",
281 "src/core/thread/key_manager.cpp",
282 "src/core/thread/link_metrics.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800283 "src/core/thread/link_metrics_types.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800284 "src/core/thread/link_quality.cpp",
285 "src/core/thread/lowpan.cpp",
286 "src/core/thread/mesh_forwarder.cpp",
287 "src/core/thread/mesh_forwarder_ftd.cpp",
288 "src/core/thread/mesh_forwarder_mtd.cpp",
289 "src/core/thread/mle.cpp",
290 "src/core/thread/mle_router.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800291 "src/core/thread/mle_tlvs.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800292 "src/core/thread/mle_types.cpp",
293 "src/core/thread/mlr_manager.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800294 "src/core/thread/neighbor.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800295 "src/core/thread/neighbor_table.cpp",
296 "src/core/thread/network_data.cpp",
297 "src/core/thread/network_data_leader.cpp",
298 "src/core/thread/network_data_leader_ftd.cpp",
299 "src/core/thread/network_data_local.cpp",
300 "src/core/thread/network_data_notifier.cpp",
301 "src/core/thread/network_data_publisher.cpp",
302 "src/core/thread/network_data_service.cpp",
303 "src/core/thread/network_data_tlvs.cpp",
304 "src/core/thread/network_data_types.cpp",
305 "src/core/thread/network_diagnostic.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800306 "src/core/thread/network_diagnostic_tlvs.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800307 "src/core/thread/panid_query_server.cpp",
308 "src/core/thread/radio_selector.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800309 "src/core/thread/router.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800310 "src/core/thread/router_table.cpp",
311 "src/core/thread/src_match_controller.cpp",
312 "src/core/thread/thread_netif.cpp",
313 "src/core/thread/time_sync_service.cpp",
314 "src/core/thread/tmf.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800315 "src/core/thread/uri_paths.cpp",
316 "src/core/utils/channel_manager.cpp",
317 "src/core/utils/channel_monitor.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800318 "src/core/utils/flash.cpp",
319 "src/core/utils/heap.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800320 "src/core/utils/history_tracker.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800321 "src/core/utils/jam_detector.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800322 "src/core/utils/mesh_diag.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800323 "src/core/utils/otns.cpp",
324 "src/core/utils/parse_cmdline.cpp",
325 "src/core/utils/ping_sender.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800326 "src/core/utils/power_calibration.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800327 "src/core/utils/slaac_address.cpp",
328 "src/core/utils/srp_client_buffers.cpp",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800329 "src/core/utils/verhoeff_checksum.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800330 ],
331}
332
333filegroup {
334 name: "openthread_cli_srcs",
335 srcs: [
336 "src/cli/cli.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800337 "src/cli/cli_bbr.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800338 "src/cli/cli_br.cpp",
339 "src/cli/cli_coap.cpp",
340 "src/cli/cli_coap_secure.cpp",
341 "src/cli/cli_commissioner.cpp",
342 "src/cli/cli_dataset.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800343 "src/cli/cli_dns.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800344 "src/cli/cli_history.cpp",
345 "src/cli/cli_joiner.cpp",
Yang Sun28fcc7a2024-03-22 15:14:15 +0800346 "src/cli/cli_link_metrics.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800347 "src/cli/cli_mac_filter.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800348 "src/cli/cli_network_data.cpp",
Handa Wang4e509762024-02-23 05:18:52 +0000349 "src/cli/cli_ping.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800350 "src/cli/cli_srp_client.cpp",
351 "src/cli/cli_srp_server.cpp",
352 "src/cli/cli_tcp.cpp",
353 "src/cli/cli_udp.cpp",
Handa Wang94da3962024-04-08 04:11:20 +0000354 "src/cli/cli_utils.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800355 ],
356}
357
358filegroup {
359 name: "openthread_ncp_srcs",
360 srcs: [
361 "src/ncp/changed_props_set.cpp",
362 "src/ncp/ncp_base.cpp",
363 "src/ncp/ncp_base_dispatcher.cpp",
364 "src/ncp/ncp_base_radio.cpp",
365 "src/ncp/ncp_spi.cpp",
366 "src/ncp/ncp_hdlc.cpp",
367 ],
368}
369
370filegroup {
Kangping Dongd1659f52023-07-24 18:53:26 +0800371 name: "openthread_simulation_srcs",
372 srcs: [
373 "examples/platforms/simulation/alarm.c",
374 "examples/platforms/simulation/crypto.c",
375 "examples/platforms/simulation/diag.c",
376 "examples/platforms/simulation/entropy.c",
377 "examples/platforms/simulation/flash.c",
378 "examples/platforms/simulation/infra_if.c",
379 "examples/platforms/simulation/logging.c",
380 "examples/platforms/simulation/misc.c",
381 "examples/platforms/simulation/radio.c",
Handa Wang94da3962024-04-08 04:11:20 +0000382 "examples/platforms/simulation/simul_utils.c",
Kangping Dongd1659f52023-07-24 18:53:26 +0800383 "examples/platforms/simulation/spi-stubs.c",
384 "examples/platforms/simulation/system.c",
385 "examples/platforms/simulation/trel.c",
386 "examples/platforms/simulation/uart.c",
387 "examples/platforms/utils/link_metrics.cpp",
388 "examples/platforms/utils/mac_frame.cpp",
Handa Wang6266d5d2023-11-03 13:53:34 +0800389 "examples/platforms/utils/settings_ram.c",
Kangping Dongd1659f52023-07-24 18:53:26 +0800390 "examples/platforms/utils/soft_source_match_table.c",
391 ],
392}
393
394filegroup {
395 name: "openthread_mbedtls_srcs",
396 srcs: [
zhanglongxia896fa512021-09-23 12:06:53 +0800397 "third_party/mbedtls/repo/library/aes.c",
398 "third_party/mbedtls/repo/library/asn1parse.c",
399 "third_party/mbedtls/repo/library/asn1write.c",
400 "third_party/mbedtls/repo/library/base64.c",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800401 "third_party/mbedtls/repo/library/bignum_core.c",
zhanglongxia896fa512021-09-23 12:06:53 +0800402 "third_party/mbedtls/repo/library/bignum.c",
403 "third_party/mbedtls/repo/library/ccm.c",
404 "third_party/mbedtls/repo/library/cipher.c",
405 "third_party/mbedtls/repo/library/cipher_wrap.c",
406 "third_party/mbedtls/repo/library/cmac.c",
Yakun Xu07935952022-04-13 17:43:15 +0800407 "third_party/mbedtls/repo/library/constant_time.c",
zhanglongxia896fa512021-09-23 12:06:53 +0800408 "third_party/mbedtls/repo/library/ctr_drbg.c",
409 "third_party/mbedtls/repo/library/debug.c",
410 "third_party/mbedtls/repo/library/ecdh.c",
411 "third_party/mbedtls/repo/library/ecdsa.c",
412 "third_party/mbedtls/repo/library/ecjpake.c",
413 "third_party/mbedtls/repo/library/ecp.c",
414 "third_party/mbedtls/repo/library/ecp_curves.c",
415 "third_party/mbedtls/repo/library/entropy.c",
416 "third_party/mbedtls/repo/library/entropy_poll.c",
417 "third_party/mbedtls/repo/library/hmac_drbg.c",
418 "third_party/mbedtls/repo/library/md.c",
419 "third_party/mbedtls/repo/library/memory_buffer_alloc.c",
420 "third_party/mbedtls/repo/library/oid.c",
421 "third_party/mbedtls/repo/library/pem.c",
422 "third_party/mbedtls/repo/library/pk.c",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800423 "third_party/mbedtls/repo/library/pk_ecc.c",
zhanglongxia896fa512021-09-23 12:06:53 +0800424 "third_party/mbedtls/repo/library/pk_wrap.c",
425 "third_party/mbedtls/repo/library/pkparse.c",
426 "third_party/mbedtls/repo/library/pkwrite.c",
427 "third_party/mbedtls/repo/library/platform.c",
428 "third_party/mbedtls/repo/library/platform_util.c",
429 "third_party/mbedtls/repo/library/sha256.c",
430 "third_party/mbedtls/repo/library/ssl_ciphersuites.c",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800431 "third_party/mbedtls/repo/library/ssl_client.c",
zhanglongxia896fa512021-09-23 12:06:53 +0800432 "third_party/mbedtls/repo/library/ssl_cookie.c",
433 "third_party/mbedtls/repo/library/ssl_msg.c",
zhanglongxia896fa512021-09-23 12:06:53 +0800434 "third_party/mbedtls/repo/library/ssl_ticket.c",
435 "third_party/mbedtls/repo/library/ssl_tls.c",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800436 "third_party/mbedtls/repo/library/ssl_tls12_client.c",
437 "third_party/mbedtls/repo/library/ssl_tls12_server.c",
438 "third_party/mbedtls/repo/library/ssl_tls13_client.c",
zhanglongxia896fa512021-09-23 12:06:53 +0800439 "third_party/mbedtls/repo/library/threading.c",
440 "third_party/mbedtls/repo/library/x509.c",
441 "third_party/mbedtls/repo/library/x509_crt.c",
442 ],
443}
444
Kangping Dongd1659f52023-07-24 18:53:26 +0800445filegroup {
446 name: "openthread_platform_posix_srcs",
447 srcs: [
448 "src/posix/platform/alarm.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800449 "src/posix/platform/backtrace.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800450 "src/posix/platform/configuration.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800451 "src/posix/platform/config_file.cpp",
452 "src/posix/platform/daemon.cpp",
453 "src/posix/platform/entropy.cpp",
454 "src/posix/platform/firewall.cpp",
455 "src/posix/platform/hdlc_interface.cpp",
456 "src/posix/platform/infra_if.cpp",
457 "src/posix/platform/logging.cpp",
458 "src/posix/platform/mainloop.cpp",
459 "src/posix/platform/memory.cpp",
460 "src/posix/platform/misc.cpp",
461 "src/posix/platform/multicast_routing.cpp",
462 "src/posix/platform/netif.cpp",
463 "src/posix/platform/power.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800464 "src/posix/platform/radio.cpp",
465 "src/posix/platform/radio_url.cpp",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800466 "src/posix/platform/rcp_caps_diag.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800467 "src/posix/platform/resolver.cpp",
468 "src/posix/platform/settings.cpp",
469 "src/posix/platform/spi_interface.cpp",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800470 "src/posix/platform/spinel_manager.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800471 "src/posix/platform/system.cpp",
472 "src/posix/platform/trel.cpp",
473 "src/posix/platform/udp.cpp",
474 "src/posix/platform/utils.cpp",
475 ],
476}
477
zhanglongxia896fa512021-09-23 12:06:53 +0800478cc_library_static {
Kangping Dongd1659f52023-07-24 18:53:26 +0800479 name: "ot-core",
Aditya Choudharyea4967b2024-02-05 15:43:05 +0000480 apex_available: ["com.android.tethering"],
Kangping Dong998ec712023-08-11 15:26:02 +0800481 min_sdk_version: "30",
Kangping Dongd8f3dae2023-08-29 11:24:36 +0800482 defaults: [
Kangping Donga2583d82023-09-04 19:57:18 +0800483 "ot-daemon-debuggable-cc-defaults",
Kangping Dongd8f3dae2023-08-29 11:24:36 +0800484 "ot_posix_cflags_defaults",
485 ],
Kangping Dongd1659f52023-07-24 18:53:26 +0800486 generated_headers: ["ot_version_header"],
487
488 local_include_dirs: [
489 "include",
490 "src",
491 "src/android/thread_network_hal",
492 "src/cli",
493 "src/core",
494 "src/ncp",
495 "src/posix/platform",
496 "src/posix/platform/include",
497 "third_party",
498 "third_party/mbedtls",
499 "third_party/mbedtls/repo/include",
500 ],
501
502 export_include_dirs: [
503 "include",
504 "src",
505 ],
506
507 cppflags: [
508 "-pedantic-errors",
509 "-Wno-non-virtual-dtor",
Kangping Dong998ec712023-08-11 15:26:02 +0800510 // Background: the HAL client implementation requires features which
511 // are available on only 31+, but the Tethering module requires the
512 // ot-daemon binary to support 30+.
513 // It's safe to suppress this warning because ot-daemon will never
514 // run below Android U (34).
515 "-Wno-unguarded-availability",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800516 "-Wno-c99-extensions",
Kangping Dongd1659f52023-07-24 18:53:26 +0800517 ],
518
519 vintf_fragments: ["src/android/thread_network_hal/device_manifest.xml"],
520 shared_libs: [
521 "libbase",
522 "libcutils",
523 "libutils",
524 "libbinder_ndk",
525 "android.hardware.threadnetwork-V1-ndk",
526 ],
527
528 srcs: [
529 ":openthread_core_srcs",
530 ":openthread_mbedtls_srcs",
531 ":openthread_platform_posix_srcs",
532 "src/android/thread_network_hal/hal_interface.cpp",
533 "src/android/thread_network_hal/vendor_interface.cpp",
534 "src/lib/hdlc/hdlc.cpp",
535 "src/lib/platform/exit_code.c",
Handa Wang94da3962024-04-08 04:11:20 +0000536 "src/lib/spinel/logger.cpp",
Zhanglong Xiabc9812c2023-10-12 15:07:30 +0800537 "src/lib/spinel/radio_spinel.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800538 "src/lib/spinel/spinel_buffer.cpp",
539 "src/lib/spinel/spinel_decoder.cpp",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800540 "src/lib/spinel/spinel_driver.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800541 "src/lib/spinel/spinel_encoder.cpp",
Handa Wang516929c2024-09-06 01:18:12 +0000542 "src/lib/spinel/spinel_helper.cpp",
543 "src/lib/spinel/spinel.c",
Kangping Dongd1659f52023-07-24 18:53:26 +0800544 "src/lib/url/url.cpp",
545 ],
546}
547
Kangping Dongd1659f52023-07-24 18:53:26 +0800548cc_library_static {
zhanglongxia896fa512021-09-23 12:06:53 +0800549 name: "libopenthread-cli",
Aditya Choudharyea4967b2024-02-05 15:43:05 +0000550 apex_available: ["com.android.tethering"],
Kangping Dong998ec712023-08-11 15:26:02 +0800551 min_sdk_version: "30",
Kangping Dongd8f3dae2023-08-29 11:24:36 +0800552 defaults: [
Kangping Donga2583d82023-09-04 19:57:18 +0800553 "ot-daemon-debuggable-cc-defaults",
Kangping Dongd8f3dae2023-08-29 11:24:36 +0800554 "ot_posix_cflags_defaults",
555 ],
zhanglongxia896fa512021-09-23 12:06:53 +0800556 generated_headers: ["ot_version_header"],
557
558 local_include_dirs: [
559 "include",
560 "src",
561 "src/cli",
562 "src/core",
563 "src/posix/platform",
564 "src/posix/platform/include",
565 "third_party/mbedtls",
566 "third_party/mbedtls/repo/include",
567 ],
568
Yakun Xu07935952022-04-13 17:43:15 +0800569 cflags: [
570 "-DOPENTHREAD_CONFIG_CLI_UART_TX_BUFFER_SIZE=3500",
571 "-DOPENTHREAD_CONFIG_CLI_UART_RX_BUFFER_SIZE=3500",
572 "-DOPENTHREAD_CONFIG_UART_CLI_RAW=1",
573 ],
zhanglongxia896fa512021-09-23 12:06:53 +0800574
575 cppflags: [
576 "-std=c++11",
577 "-pedantic-errors",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800578 "-Wno-c99-extensions",
zhanglongxia896fa512021-09-23 12:06:53 +0800579 ],
580
581 srcs: [
582 "src/cli/cli.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800583 "src/cli/cli_bbr.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800584 "src/cli/cli_br.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800585 "src/cli/cli_coap.cpp",
586 "src/cli/cli_coap_secure.cpp",
587 "src/cli/cli_commissioner.cpp",
588 "src/cli/cli_dataset.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800589 "src/cli/cli_dns.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800590 "src/cli/cli_history.cpp",
591 "src/cli/cli_joiner.cpp",
Yang Sun28fcc7a2024-03-22 15:14:15 +0800592 "src/cli/cli_link_metrics.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800593 "src/cli/cli_mac_filter.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800594 "src/cli/cli_network_data.cpp",
Handa Wang4e509762024-02-23 05:18:52 +0000595 "src/cli/cli_ping.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800596 "src/cli/cli_srp_client.cpp",
597 "src/cli/cli_srp_server.cpp",
598 "src/cli/cli_tcp.cpp",
599 "src/cli/cli_udp.cpp",
Handa Wang94da3962024-04-08 04:11:20 +0000600 "src/cli/cli_utils.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800601 ],
602}
603
604cc_binary {
605 name: "ot-ctl",
Yakun Xu07935952022-04-13 17:43:15 +0800606 defaults: ["ot_posix_cflags_defaults"],
zhanglongxia896fa512021-09-23 12:06:53 +0800607 generated_headers: ["ot_version_header"],
608
609 cppflags: [
610 "-pedantic-errors",
611 ],
612
613 local_include_dirs: [
614 "include",
615 "src/",
616 "src/core",
617 "src/posix/platform",
618 "src/posix/platform/include",
619 ],
620
621 srcs: ["src/posix/client.cpp"],
622}
Yakun Xu07935952022-04-13 17:43:15 +0800623
624cc_defaults {
625 name: "ot_rcp_cflags_defaults",
626 cflags: [
627 "-DOPENTHREAD_RADIO=1",
628 ],
629}
630
631cc_defaults {
Aditya Choudharyea4967b2024-02-05 15:43:05 +0000632 name: "ot_simulation_cflags_defaults",
Yakun Xu07935952022-04-13 17:43:15 +0800633
634 local_include_dirs: [
635 "examples/platforms/simulation",
636 "examples/platforms",
637 "include",
638 "src",
639 "src/cli",
640 "src/core",
641 "src/ncp",
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800642 "src/lib/hdlc",
Yakun Xu07935952022-04-13 17:43:15 +0800643 "third_party",
644 "third_party/mbedtls",
645 "third_party/mbedtls/repo/include",
646 ],
647
648 export_include_dirs: [
649 "include",
650 "src",
651 ],
652
653 cflags: [
654 "-DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\"",
655 "-DOPENTHREAD_CONFIG_ANDROID_VERSION_HEADER_ENABLE=1",
Zhanglong Xia353a4532024-02-21 11:19:38 +0800656 "-DOPENTHREAD_CONFIG_DIAG_ENABLE=1",
Handa Wang82843b22023-12-14 15:32:43 +0800657 "-DOPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1",
658 "-DOPENTHREAD_CONFIG_ECDSA_ENABLE=1",
Yakun Xu07935952022-04-13 17:43:15 +0800659 "-DOPENTHREAD_CONFIG_FILE=\"openthread-config-android-version.h\"",
660 "-DOPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1",
661 "-DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1",
Yang Sunfca0b512023-09-22 10:30:22 +0800662 "-DOPENTHREAD_CONFIG_MLR_ENABLE=1",
Yakun Xu07935952022-04-13 17:43:15 +0800663 "-DOPENTHREAD_CONFIG_NCP_HDLC_ENABLE=1",
Handa Wang1c547232023-08-22 17:48:44 +0800664 "-DOPENTHREAD_CONFIG_PING_SENDER_ENABLE=1",
Handa Wang82843b22023-12-14 15:32:43 +0800665 "-DOPENTHREAD_CONFIG_SRP_CLIENT_ENABLE=1",
Handa Wang6266d5d2023-11-03 13:53:34 +0800666 "-DOPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE=0",
Yakun Xu07935952022-04-13 17:43:15 +0800667 "-DOPENTHREAD_EXAMPLES_SIMULATION=1",
Kangping Dongf885df72023-08-09 19:43:42 +0800668 "-DOPENTHREAD_CONFIG_TCP_ENABLE=0",
Yakun Xu07935952022-04-13 17:43:15 +0800669 "-DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"examples/platforms/simulation/openthread-core-simulation-config.h\"",
Handa Wang6266d5d2023-11-03 13:53:34 +0800670 "-DOPENTHREAD_SETTINGS_RAM=1",
Yakun Xubf0ba982024-05-27 18:09:16 +0800671 "-DOPENTHREAD_SIMULATION_MAX_NETWORK_SIZE=128",
Yakun Xu07935952022-04-13 17:43:15 +0800672 "-DPACKAGE=\"openthread\"",
673 "-DPACKAGE_BUGREPORT=\"openthread-devel@googlegroups.com\"",
674 "-DPACKAGE_NAME=\"OPENTHREAD\"",
675 "-DPACKAGE_TARNAME=\"openthread\"",
676 "-DPACKAGE_URL=\"http://github.com/openthread/openthread\"",
677 "-DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\"",
Handa Wang82843b22023-12-14 15:32:43 +0800678 "-Wno-implicit-fallthrough",
Yakun Xu07935952022-04-13 17:43:15 +0800679 ],
680}
681
682cc_library_static {
683 name: "openthread-simulation",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800684 vendor_available: true,
Yakun Xu07935952022-04-13 17:43:15 +0800685
686 defaults: [
687 "ot_rcp_cflags_defaults",
688 "ot_simulation_cflags_defaults",
689 ],
690
691 srcs: [
Kangping Dongd1659f52023-07-24 18:53:26 +0800692 ":openthread_simulation_srcs",
Yakun Xu07935952022-04-13 17:43:15 +0800693 "src/lib/platform/exit_code.c",
Yakun Xu07935952022-04-13 17:43:15 +0800694 "third_party/mbedtls/repo/library/aes.c",
695 "third_party/mbedtls/repo/library/asn1parse.c",
696 "third_party/mbedtls/repo/library/asn1write.c",
697 "third_party/mbedtls/repo/library/base64.c",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800698 "third_party/mbedtls/repo/library/bignum_core.c",
Yakun Xu07935952022-04-13 17:43:15 +0800699 "third_party/mbedtls/repo/library/bignum.c",
700 "third_party/mbedtls/repo/library/ccm.c",
701 "third_party/mbedtls/repo/library/cipher.c",
702 "third_party/mbedtls/repo/library/cipher_wrap.c",
703 "third_party/mbedtls/repo/library/cmac.c",
704 "third_party/mbedtls/repo/library/ctr_drbg.c",
705 "third_party/mbedtls/repo/library/debug.c",
706 "third_party/mbedtls/repo/library/entropy.c",
707 "third_party/mbedtls/repo/library/entropy_poll.c",
708 "third_party/mbedtls/repo/library/hmac_drbg.c",
709 "third_party/mbedtls/repo/library/md.c",
710 "third_party/mbedtls/repo/library/memory_buffer_alloc.c",
711 "third_party/mbedtls/repo/library/oid.c",
712 "third_party/mbedtls/repo/library/platform.c",
713 "third_party/mbedtls/repo/library/platform_util.c",
714 "third_party/mbedtls/repo/library/sha256.c",
715 ],
716
717 cflags: [
718 "-D_BSD_SOURCE=1",
719 "-D_DEFAULT_SOURCE=1",
720 ],
721}
722
723cc_library_static {
724 name: "openthread-radio",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800725 vendor_available: true,
Yakun Xu07935952022-04-13 17:43:15 +0800726
727 defaults: [
728 "ot_rcp_cflags_defaults",
729 "ot_simulation_cflags_defaults",
730 ],
731
732 generated_headers: ["ot_version_header"],
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800733 shared_libs: [
734 "libcutils",
735 ],
Yakun Xu07935952022-04-13 17:43:15 +0800736
737 srcs: [
738 "src/core/api/diags_api.cpp",
739 "src/core/api/error_api.cpp",
740 "src/core/api/instance_api.cpp",
741 "src/core/api/link_raw_api.cpp",
742 "src/core/api/logging_api.cpp",
743 "src/core/api/random_noncrypto_api.cpp",
744 "src/core/api/tasklet_api.cpp",
745 "src/core/common/binary_search.cpp",
746 "src/core/common/error.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800747 "src/core/common/frame_builder.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800748 "src/core/common/log.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800749 "src/core/common/random.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800750 "src/core/common/string.cpp",
751 "src/core/common/tasklet.cpp",
752 "src/core/common/timer.cpp",
753 "src/core/common/uptime.cpp",
754 "src/core/crypto/aes_ccm.cpp",
755 "src/core/crypto/aes_ecb.cpp",
756 "src/core/crypto/crypto_platform.cpp",
757 "src/core/crypto/storage.cpp",
758 "src/core/diags/factory_diags.cpp",
Handa Wang0f346402023-12-04 10:13:30 +0800759 "src/core/instance/instance.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800760 "src/core/mac/link_raw.cpp",
761 "src/core/mac/mac_frame.cpp",
762 "src/core/mac/mac_types.cpp",
763 "src/core/mac/sub_mac.cpp",
764 "src/core/mac/sub_mac_callbacks.cpp",
765 "src/core/radio/radio.cpp",
766 "src/core/radio/radio_callbacks.cpp",
767 "src/core/radio/radio_platform.cpp",
768 "src/core/thread/link_quality.cpp",
769 "src/core/utils/parse_cmdline.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800770 "src/core/utils/power_calibration.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800771 ],
772}
773
774cc_library_static {
775 name: "openthread-hdlc",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800776 vendor_available: true,
Yakun Xu07935952022-04-13 17:43:15 +0800777 defaults: [
778 "ot_rcp_cflags_defaults",
779 "ot_simulation_cflags_defaults",
780 ],
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800781 export_include_dirs: [
782 "include",
783 "src",
784 ],
Yakun Xu07935952022-04-13 17:43:15 +0800785 srcs: [
786 "src/lib/hdlc/hdlc.cpp",
787 ],
788}
789
790cc_library_static {
Zhanglong Xia286d1e32023-06-14 10:34:31 +0800791 name: "openthread-spi",
Zhanglong Xiac52b7042023-07-03 10:56:10 +0800792 vendor_available: true,
Zhanglong Xia286d1e32023-06-14 10:34:31 +0800793 local_include_dirs: [
794 "include",
795 "src",
796 "src/core",
797 "src/lib/platform",
798 "src/posix/platform",
799 "src/posix/platform/include",
800 ],
801 export_include_dirs: [
802 "include",
803 "src/core",
804 "src/posix/platform",
805 "src/posix/platform/include",
806 ],
807
808 cflags: [
Zhanglong Xiabc9812c2023-10-12 15:07:30 +0800809 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=1",
Zhanglong Xia286d1e32023-06-14 10:34:31 +0800810 ],
811
812 srcs: [
813 "src/posix/platform/spi_interface.cpp",
814 ],
815}
816
817cc_library_static {
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800818 name: "openthread-url",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800819 vendor_available: true,
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800820 local_include_dirs: [
821 "include",
822 "src",
823 "src/core",
824 "src/lib/url",
825 ],
826 export_include_dirs: [
827 "include",
828 "src",
829 ],
830 srcs: [
831 "src/lib/url/url.cpp",
832 ],
833}
834
835cc_library_static {
836 name: "openthread-platform",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800837 vendor_available: true,
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800838 local_include_dirs: [
839 "include",
840 "src",
841 "src/core",
842 "src/lib/platform",
843 ],
844 export_include_dirs: [
845 "include",
846 "src",
847 ],
848 srcs: [
849 "src/lib/platform/exit_code.c",
850 ],
851}
852
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800853cc_library_static {
Yakun Xu07935952022-04-13 17:43:15 +0800854 name: "openthread-spinel-rcp",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800855 vendor_available: true,
Yakun Xu07935952022-04-13 17:43:15 +0800856
857 defaults: [
858 "ot_rcp_cflags_defaults",
859 "ot_simulation_cflags_defaults",
860 ],
861
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800862 export_include_dirs: [
863 "include",
864 "src",
865 ],
866
Yakun Xu07935952022-04-13 17:43:15 +0800867 srcs: [
Zhanglong Xiabc9812c2023-10-12 15:07:30 +0800868 "src/lib/spinel/radio_spinel.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800869 "src/lib/spinel/spinel.c",
870 "src/lib/spinel/spinel_buffer.cpp",
871 "src/lib/spinel/spinel_decoder.cpp",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800872 "src/lib/spinel/spinel_driver.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800873 "src/lib/spinel/spinel_encoder.cpp",
874 ],
875}
876
877cc_library_static {
878 name: "openthread-rcp",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800879 vendor_available: true,
Yakun Xu07935952022-04-13 17:43:15 +0800880
881 defaults: [
882 "ot_rcp_cflags_defaults",
883 "ot_simulation_cflags_defaults",
884 ],
885
886 srcs: [
887 "src/ncp/changed_props_set.cpp",
888 "src/ncp/ncp_base.cpp",
889 "src/ncp/ncp_base_dispatcher.cpp",
890 "src/ncp/ncp_base_radio.cpp",
891 "src/ncp/ncp_spi.cpp",
892 "src/ncp/ncp_hdlc.cpp",
893 ],
894}
895
896cc_binary {
897 name: "ot-rcp",
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800898 vendor: true,
Yakun Xu07935952022-04-13 17:43:15 +0800899 defaults: [
900 "ot_rcp_cflags_defaults",
901 "ot_simulation_cflags_defaults",
902 ],
903
904 srcs: [
905 "examples/apps/ncp/main.c",
906 "examples/apps/ncp/ncp.c",
907 ],
908
909 static_libs: [
Jooyung Han6fe884a2023-08-24 17:34:27 +0900910 "libbase",
911 "libcutils",
912 "libutils",
Yakun Xu07935952022-04-13 17:43:15 +0800913 "openthread-hdlc",
914 "openthread-radio",
915 "openthread-spinel-rcp",
916 "openthread-rcp",
917 "openthread-simulation",
918 "openthread-radio",
919 ],
920
Jooyung Han6fe884a2023-08-24 17:34:27 +0900921 stl: "c++_static",
Yakun Xu07935952022-04-13 17:43:15 +0800922}
923
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800924cc_library_static {
925 name: "openthread-posix",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800926 vendor_available: true,
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800927 local_include_dirs: [
928 "include",
929 "src",
930 "src/core",
931 "src/lib/platform",
932 "src/posix/platform",
933 "src/posix/platform/include",
934 ],
935 export_include_dirs: [
936 "include",
937 "src/core",
938 "src/posix/platform",
939 "src/posix/platform/include",
940 ],
941
942 cflags: [
Zhanglong Xiabc9812c2023-10-12 15:07:30 +0800943 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=1",
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800944 "-DOPENTHREAD_OSIX_CONFIG_RCP_PTY_ENABLE=1",
945 ],
946
947 cppflags: [
948 "-Wno-non-virtual-dtor",
949 ],
950
951 srcs: [
952 "src/posix/platform/alarm.cpp",
953 "src/posix/platform/mainloop.cpp",
954 "src/posix/platform/hdlc_interface.cpp",
Yakun Xu84fb1212024-04-29 17:59:43 +0800955 "src/posix/platform/radio_url.cpp",
Yang Sunaa4e85e2024-07-10 12:55:58 +0800956 "src/posix/platform/rcp_caps_diag.cpp",
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800957 ],
958}
959
960cc_library_static {
961 name: "openthread-common",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800962 vendor_available: true,
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800963 local_include_dirs: [
964 "include",
965 "src",
966 "src/core",
967 ],
968
969 export_include_dirs: [
970 "include",
971 "src/core",
972 ],
973
974 srcs: [
975 "src/core/common/error.cpp",
976 "src/core/api/error_api.cpp",
977 ],
978}
Kangping Dongd1659f52023-07-24 18:53:26 +0800979
980cc_binary {
981 name: "ot-cli-ftd",
982 defaults: [
983 "ot_simulation_cflags_defaults",
984 ],
985
986 cflags: [
987 "-DOPENTHREAD_FTD=1",
988 "-DOPENTHREAD_CONFIG_POSIX_SETTINGS_PATH=\"/data/vendor/threadnetwork/simulation\"",
989 ],
990
991 srcs: [
992 ":openthread_core_srcs",
993 ":openthread_simulation_srcs",
994 ":openthread_cli_srcs",
995 ":openthread_mbedtls_srcs",
996 "examples/apps/cli/cli_uart.cpp",
997 "examples/apps/cli/main.c",
998 ],
999
1000 static_libs: [
1001 "openthread-platform",
Kangping Dongd1659f52023-07-24 18:53:26 +08001002 ],
1003
1004 shared_libs: [
1005 "libcutils", // Required by src/core/instance_api.cpp
1006 ],
Kangping Dongd1659f52023-07-24 18:53:26 +08001007}