blob: c5d672f9250efc7352d582a90463b822c1603093 [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 {
30 default_applicable_licenses: ["external_openthread_license"],
31}
32
33// Added automatically by a large-scale-change that took the approach of
34// 'apply every license found to every target'. While this makes sure we respect
35// every license restriction, it may not be entirely correct.
36//
37// e.g. GPL in an MIT project might only apply to the contrib/ directory.
38//
39// Please consider splitting the single license below into multiple licenses,
40// taking care not to lose any license_kind information, and overriding the
41// default license using the 'licenses: [...]' property on targets as needed.
42//
43// For unused files, consider creating a 'fileGroup' with "//visibility:private"
44// to attach the license to, and including a comment whether the files may be
45// used in the current project.
46//
47// large-scale-change included anything that looked like it might be a license
48// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
49//
50// Please consider removing redundant or irrelevant files from 'license_text:'.
51// See: http://go/android-license-faq
52license {
53 name: "external_openthread_license",
54 visibility: [":__subpackages__"],
55 license_kinds: [
56 "SPDX-license-identifier-Apache-2.0",
57 "SPDX-license-identifier-BSD",
58 "SPDX-license-identifier-BSD-3-Clause",
59 "SPDX-license-identifier-GPL",
60 "SPDX-license-identifier-GPL-2.0",
61 "SPDX-license-identifier-LGPL",
62 "SPDX-license-identifier-MIT",
63 "legacy_unencumbered",
64 ],
65 license_text: [
66 "LICENSE",
67 "NOTICE",
68 ],
69}
70
zhanglongxia896fa512021-09-23 12:06:53 +080071cc_defaults {
Yakun Xu07935952022-04-13 17:43:15 +080072 name : "ot_posix_cflags_defaults",
zhanglongxia896fa512021-09-23 12:06:53 +080073 cflags: [
Yakun Xu07935952022-04-13 17:43:15 +080074 "-DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\"",
75 "-DOPENTHREAD_CONFIG_FILE=\"src/android/openthread-android-config.h\"",
zhanglongxia896fa512021-09-23 12:06:53 +080076 "-DOPENTHREAD_FTD=1",
77 "-DOPENTHREAD_POSIX=1",
zhanglongxia896fa512021-09-23 12:06:53 +080078 "-DOPENTHREAD_POSIX_CONFIG_DAEMON_ENABLE=1",
Yakun Xu07935952022-04-13 17:43:15 +080079 "-DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"src/android/openthread-core-android-config.h\"",
80 "-DOPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=1",
Li Cao65c3a222022-08-07 15:22:47 +080081 "-DOPENTHREAD_CONFIG_JOINER_ENABLE=1",
zhanglongxia896fa512021-09-23 12:06:53 +080082 "-DPACKAGE=\"openthread\"",
83 "-DPACKAGE_BUGREPORT=\"openthread-devel@googlegroups.com\"",
84 "-DPACKAGE_NAME=\"OPENTHREAD\"",
85 "-DPACKAGE_TARNAME=\"openthread\"",
86 "-DPACKAGE_URL=\"http://github.com/openthread/openthread\"",
zhanglongxia896fa512021-09-23 12:06:53 +080087 "-DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\"",
Zhanglong Xiabc9812c2023-10-12 15:07:30 +080088 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_HDLC_INTERFACE_ENABLE=0",
89 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=0",
90 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_VENDOR_INTERFACE_ENABLE=1",
zhanglongxia896fa512021-09-23 12:06:53 +080091 ],
92}
93
94genrule {
95 name: "ot_version_header",
zhanglongxia1d2f7a02021-10-26 14:00:51 +080096 cmd: "$(location src/android/config-android-version-gen.sh) < $(in) > $(out)",
zhanglongxia896fa512021-09-23 12:06:53 +080097 srcs: ["src/android/openthread-config-android-version.h.in"],
98 out: ["openthread-config-android-version.h"],
99 tool_files: [
100 "src/android/config-android-version-gen.sh",
zhanglongxia896fa512021-09-23 12:06:53 +0800101 ],
102}
103
104soong_config_module_type {
105 name: "ot_config_cc_defaults",
106 module_type: "cc_defaults",
107 config_namespace: "openthread",
108 bool_variables: ["diag"],
109 properties: ["cflags"],
110}
111
112ot_config_cc_defaults {
113 name: "ot_config_defaults",
114 soong_config_variables: {
115 diag: {
116 cflags: ["-DOPENTHREAD_CONFIG_DIAG_ENABLE=1"],
117 },
118 },
119}
120
Kangping Dongd1659f52023-07-24 18:53:26 +0800121filegroup {
122 name: "openthread_core_srcs",
zhanglongxia896fa512021-09-23 12:06:53 +0800123 srcs: [
124 "src/core/api/backbone_router_api.cpp",
125 "src/core/api/backbone_router_ftd_api.cpp",
126 "src/core/api/border_agent_api.cpp",
127 "src/core/api/border_router_api.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800128 "src/core/api/border_routing_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800129 "src/core/api/channel_manager_api.cpp",
130 "src/core/api/channel_monitor_api.cpp",
131 "src/core/api/child_supervision_api.cpp",
132 "src/core/api/coap_api.cpp",
133 "src/core/api/coap_secure_api.cpp",
134 "src/core/api/commissioner_api.cpp",
135 "src/core/api/crypto_api.cpp",
136 "src/core/api/dataset_api.cpp",
137 "src/core/api/dataset_ftd_api.cpp",
138 "src/core/api/dataset_updater_api.cpp",
139 "src/core/api/diags_api.cpp",
140 "src/core/api/dns_api.cpp",
141 "src/core/api/dns_server_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800142 "src/core/api/error_api.cpp",
143 "src/core/api/heap_api.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800144 "src/core/api/history_tracker_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800145 "src/core/api/icmp6_api.cpp",
146 "src/core/api/instance_api.cpp",
147 "src/core/api/ip6_api.cpp",
148 "src/core/api/jam_detection_api.cpp",
149 "src/core/api/joiner_api.cpp",
150 "src/core/api/link_api.cpp",
151 "src/core/api/link_metrics_api.cpp",
152 "src/core/api/link_raw_api.cpp",
153 "src/core/api/logging_api.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800154 "src/core/api/mesh_diag_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800155 "src/core/api/message_api.cpp",
156 "src/core/api/multi_radio_api.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800157 "src/core/api/nat64_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800158 "src/core/api/netdata_api.cpp",
159 "src/core/api/netdata_publisher_api.cpp",
160 "src/core/api/netdiag_api.cpp",
161 "src/core/api/network_time_api.cpp",
162 "src/core/api/ping_sender_api.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800163 "src/core/api/radio_stats_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800164 "src/core/api/random_crypto_api.cpp",
165 "src/core/api/random_noncrypto_api.cpp",
166 "src/core/api/server_api.cpp",
167 "src/core/api/sntp_api.cpp",
168 "src/core/api/srp_client_api.cpp",
169 "src/core/api/srp_client_buffers_api.cpp",
170 "src/core/api/srp_server_api.cpp",
171 "src/core/api/tasklet_api.cpp",
172 "src/core/api/tcp_api.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800173 "src/core/api/tcp_ext_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800174 "src/core/api/thread_api.cpp",
175 "src/core/api/thread_ftd_api.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800176 "src/core/api/trel_api.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800177 "src/core/api/udp_api.cpp",
178 "src/core/backbone_router/backbone_tmf.cpp",
179 "src/core/backbone_router/bbr_leader.cpp",
180 "src/core/backbone_router/bbr_local.cpp",
181 "src/core/backbone_router/bbr_manager.cpp",
182 "src/core/backbone_router/multicast_listeners_table.cpp",
183 "src/core/backbone_router/ndproxy_table.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800184 "src/core/border_router/infra_if.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800185 "src/core/border_router/routing_manager.cpp",
186 "src/core/coap/coap.cpp",
187 "src/core/coap/coap_message.cpp",
188 "src/core/coap/coap_secure.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800189 "src/core/common/appender.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800190 "src/core/common/binary_search.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800191 "src/core/common/crc16.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800192 "src/core/common/data.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800193 "src/core/common/error.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800194 "src/core/common/frame_builder.cpp",
195 "src/core/common/frame_data.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800196 "src/core/common/heap.cpp",
197 "src/core/common/heap_data.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800198 "src/core/common/heap_string.cpp",
199 "src/core/common/instance.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800200 "src/core/common/log.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800201 "src/core/common/message.cpp",
202 "src/core/common/notifier.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800203 "src/core/common/preference.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800204 "src/core/common/random.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800205 "src/core/common/settings.cpp",
206 "src/core/common/string.cpp",
207 "src/core/common/tasklet.cpp",
208 "src/core/common/time_ticker.cpp",
209 "src/core/common/timer.cpp",
210 "src/core/common/tlvs.cpp",
211 "src/core/common/trickle_timer.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800212 "src/core/common/uptime.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800213 "src/core/crypto/aes_ccm.cpp",
214 "src/core/crypto/aes_ecb.cpp",
zhanglongxia9954ffa2021-10-29 11:53:30 +0800215 "src/core/crypto/crypto_platform.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800216 "src/core/crypto/hkdf_sha256.cpp",
217 "src/core/crypto/hmac_sha256.cpp",
218 "src/core/crypto/mbedtls.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800219 "src/core/crypto/sha256.cpp",
zhanglongxia9954ffa2021-10-29 11:53:30 +0800220 "src/core/crypto/storage.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800221 "src/core/diags/factory_diags.cpp",
222 "src/core/mac/channel_mask.cpp",
223 "src/core/mac/data_poll_handler.cpp",
224 "src/core/mac/data_poll_sender.cpp",
225 "src/core/mac/link_raw.cpp",
226 "src/core/mac/mac.cpp",
227 "src/core/mac/mac_filter.cpp",
228 "src/core/mac/mac_frame.cpp",
229 "src/core/mac/mac_links.cpp",
230 "src/core/mac/mac_types.cpp",
231 "src/core/mac/sub_mac.cpp",
232 "src/core/mac/sub_mac_callbacks.cpp",
233 "src/core/meshcop/announce_begin_client.cpp",
234 "src/core/meshcop/border_agent.cpp",
235 "src/core/meshcop/commissioner.cpp",
236 "src/core/meshcop/dataset.cpp",
237 "src/core/meshcop/dataset_local.cpp",
238 "src/core/meshcop/dataset_manager.cpp",
239 "src/core/meshcop/dataset_manager_ftd.cpp",
240 "src/core/meshcop/dataset_updater.cpp",
241 "src/core/meshcop/dtls.cpp",
242 "src/core/meshcop/energy_scan_client.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800243 "src/core/meshcop/extended_panid.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800244 "src/core/meshcop/joiner.cpp",
245 "src/core/meshcop/joiner_router.cpp",
246 "src/core/meshcop/meshcop.cpp",
247 "src/core/meshcop/meshcop_leader.cpp",
248 "src/core/meshcop/meshcop_tlvs.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800249 "src/core/meshcop/network_name.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800250 "src/core/meshcop/panid_query_client.cpp",
251 "src/core/meshcop/timestamp.cpp",
252 "src/core/net/checksum.cpp",
253 "src/core/net/dhcp6_client.cpp",
254 "src/core/net/dhcp6_server.cpp",
255 "src/core/net/dns_client.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800256 "src/core/net/dns_dso.cpp",
257 "src/core/net/dns_platform.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800258 "src/core/net/dns_types.cpp",
259 "src/core/net/dnssd_server.cpp",
260 "src/core/net/icmp6.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800261 "src/core/net/ip4_types.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800262 "src/core/net/ip6.cpp",
263 "src/core/net/ip6_address.cpp",
264 "src/core/net/ip6_filter.cpp",
265 "src/core/net/ip6_headers.cpp",
266 "src/core/net/ip6_mpl.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800267 "src/core/net/nat64_translator.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800268 "src/core/net/nd6.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800269 "src/core/net/nd_agent.cpp",
270 "src/core/net/netif.cpp",
271 "src/core/net/sntp_client.cpp",
272 "src/core/net/socket.cpp",
273 "src/core/net/srp_client.cpp",
274 "src/core/net/srp_server.cpp",
275 "src/core/net/tcp6.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800276 "src/core/net/tcp6_ext.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800277 "src/core/net/udp6.cpp",
278 "src/core/radio/radio.cpp",
279 "src/core/radio/radio_callbacks.cpp",
280 "src/core/radio/radio_platform.cpp",
281 "src/core/radio/trel_interface.cpp",
282 "src/core/radio/trel_link.cpp",
283 "src/core/radio/trel_packet.cpp",
284 "src/core/thread/address_resolver.cpp",
285 "src/core/thread/announce_begin_server.cpp",
286 "src/core/thread/announce_sender.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800287 "src/core/thread/anycast_locator.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800288 "src/core/thread/child.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800289 "src/core/thread/child_supervision.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800290 "src/core/thread/child_table.cpp",
291 "src/core/thread/csl_tx_scheduler.cpp",
292 "src/core/thread/discover_scanner.cpp",
293 "src/core/thread/dua_manager.cpp",
294 "src/core/thread/energy_scan_server.cpp",
295 "src/core/thread/indirect_sender.cpp",
296 "src/core/thread/key_manager.cpp",
297 "src/core/thread/link_metrics.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800298 "src/core/thread/link_metrics_types.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800299 "src/core/thread/link_quality.cpp",
300 "src/core/thread/lowpan.cpp",
301 "src/core/thread/mesh_forwarder.cpp",
302 "src/core/thread/mesh_forwarder_ftd.cpp",
303 "src/core/thread/mesh_forwarder_mtd.cpp",
304 "src/core/thread/mle.cpp",
305 "src/core/thread/mle_router.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800306 "src/core/thread/mle_tlvs.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800307 "src/core/thread/mle_types.cpp",
308 "src/core/thread/mlr_manager.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800309 "src/core/thread/neighbor.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800310 "src/core/thread/neighbor_table.cpp",
311 "src/core/thread/network_data.cpp",
312 "src/core/thread/network_data_leader.cpp",
313 "src/core/thread/network_data_leader_ftd.cpp",
314 "src/core/thread/network_data_local.cpp",
315 "src/core/thread/network_data_notifier.cpp",
316 "src/core/thread/network_data_publisher.cpp",
317 "src/core/thread/network_data_service.cpp",
318 "src/core/thread/network_data_tlvs.cpp",
319 "src/core/thread/network_data_types.cpp",
320 "src/core/thread/network_diagnostic.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800321 "src/core/thread/network_diagnostic_tlvs.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800322 "src/core/thread/panid_query_server.cpp",
323 "src/core/thread/radio_selector.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800324 "src/core/thread/router.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800325 "src/core/thread/router_table.cpp",
326 "src/core/thread/src_match_controller.cpp",
327 "src/core/thread/thread_netif.cpp",
328 "src/core/thread/time_sync_service.cpp",
329 "src/core/thread/tmf.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800330 "src/core/thread/uri_paths.cpp",
331 "src/core/utils/channel_manager.cpp",
332 "src/core/utils/channel_monitor.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800333 "src/core/utils/flash.cpp",
334 "src/core/utils/heap.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800335 "src/core/utils/history_tracker.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800336 "src/core/utils/jam_detector.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800337 "src/core/utils/mesh_diag.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800338 "src/core/utils/otns.cpp",
339 "src/core/utils/parse_cmdline.cpp",
340 "src/core/utils/ping_sender.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800341 "src/core/utils/power_calibration.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800342 "src/core/utils/slaac_address.cpp",
343 "src/core/utils/srp_client_buffers.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800344 ],
345}
346
347filegroup {
348 name: "openthread_cli_srcs",
349 srcs: [
350 "src/cli/cli.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800351 "src/cli/cli_bbr.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800352 "src/cli/cli_br.cpp",
353 "src/cli/cli_coap.cpp",
354 "src/cli/cli_coap_secure.cpp",
355 "src/cli/cli_commissioner.cpp",
356 "src/cli/cli_dataset.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800357 "src/cli/cli_dns.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800358 "src/cli/cli_history.cpp",
359 "src/cli/cli_joiner.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800360 "src/cli/cli_mac_filter.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800361 "src/cli/cli_network_data.cpp",
362 "src/cli/cli_output.cpp",
363 "src/cli/cli_srp_client.cpp",
364 "src/cli/cli_srp_server.cpp",
365 "src/cli/cli_tcp.cpp",
366 "src/cli/cli_udp.cpp",
367 ],
368}
369
370filegroup {
371 name: "openthread_ncp_srcs",
372 srcs: [
373 "src/ncp/changed_props_set.cpp",
374 "src/ncp/ncp_base.cpp",
375 "src/ncp/ncp_base_dispatcher.cpp",
376 "src/ncp/ncp_base_radio.cpp",
377 "src/ncp/ncp_spi.cpp",
378 "src/ncp/ncp_hdlc.cpp",
379 ],
380}
381
382filegroup {
Kangping Dongd1659f52023-07-24 18:53:26 +0800383 name: "openthread_simulation_srcs",
384 srcs: [
385 "examples/platforms/simulation/alarm.c",
386 "examples/platforms/simulation/crypto.c",
387 "examples/platforms/simulation/diag.c",
388 "examples/platforms/simulation/entropy.c",
389 "examples/platforms/simulation/flash.c",
390 "examples/platforms/simulation/infra_if.c",
391 "examples/platforms/simulation/logging.c",
392 "examples/platforms/simulation/misc.c",
393 "examples/platforms/simulation/radio.c",
394 "examples/platforms/simulation/spi-stubs.c",
395 "examples/platforms/simulation/system.c",
396 "examples/platforms/simulation/trel.c",
397 "examples/platforms/simulation/uart.c",
398 "examples/platforms/utils/link_metrics.cpp",
399 "examples/platforms/utils/mac_frame.cpp",
400 "examples/platforms/utils/soft_source_match_table.c",
401 ],
402}
403
404filegroup {
405 name: "openthread_mbedtls_srcs",
406 srcs: [
zhanglongxia896fa512021-09-23 12:06:53 +0800407 "third_party/mbedtls/repo/library/aes.c",
408 "third_party/mbedtls/repo/library/asn1parse.c",
409 "third_party/mbedtls/repo/library/asn1write.c",
410 "third_party/mbedtls/repo/library/base64.c",
411 "third_party/mbedtls/repo/library/bignum.c",
412 "third_party/mbedtls/repo/library/ccm.c",
413 "third_party/mbedtls/repo/library/cipher.c",
414 "third_party/mbedtls/repo/library/cipher_wrap.c",
415 "third_party/mbedtls/repo/library/cmac.c",
Yakun Xu07935952022-04-13 17:43:15 +0800416 "third_party/mbedtls/repo/library/constant_time.c",
zhanglongxia896fa512021-09-23 12:06:53 +0800417 "third_party/mbedtls/repo/library/ctr_drbg.c",
418 "third_party/mbedtls/repo/library/debug.c",
419 "third_party/mbedtls/repo/library/ecdh.c",
420 "third_party/mbedtls/repo/library/ecdsa.c",
421 "third_party/mbedtls/repo/library/ecjpake.c",
422 "third_party/mbedtls/repo/library/ecp.c",
423 "third_party/mbedtls/repo/library/ecp_curves.c",
424 "third_party/mbedtls/repo/library/entropy.c",
425 "third_party/mbedtls/repo/library/entropy_poll.c",
426 "third_party/mbedtls/repo/library/hmac_drbg.c",
427 "third_party/mbedtls/repo/library/md.c",
428 "third_party/mbedtls/repo/library/memory_buffer_alloc.c",
429 "third_party/mbedtls/repo/library/oid.c",
430 "third_party/mbedtls/repo/library/pem.c",
431 "third_party/mbedtls/repo/library/pk.c",
432 "third_party/mbedtls/repo/library/pk_wrap.c",
433 "third_party/mbedtls/repo/library/pkparse.c",
434 "third_party/mbedtls/repo/library/pkwrite.c",
435 "third_party/mbedtls/repo/library/platform.c",
436 "third_party/mbedtls/repo/library/platform_util.c",
437 "third_party/mbedtls/repo/library/sha256.c",
438 "third_party/mbedtls/repo/library/ssl_ciphersuites.c",
439 "third_party/mbedtls/repo/library/ssl_cli.c",
440 "third_party/mbedtls/repo/library/ssl_cookie.c",
441 "third_party/mbedtls/repo/library/ssl_msg.c",
442 "third_party/mbedtls/repo/library/ssl_srv.c",
443 "third_party/mbedtls/repo/library/ssl_ticket.c",
444 "third_party/mbedtls/repo/library/ssl_tls.c",
445 "third_party/mbedtls/repo/library/threading.c",
446 "third_party/mbedtls/repo/library/x509.c",
447 "third_party/mbedtls/repo/library/x509_crt.c",
448 ],
449}
450
Kangping Dongd1659f52023-07-24 18:53:26 +0800451filegroup {
452 name: "openthread_platform_posix_srcs",
453 srcs: [
454 "src/posix/platform/alarm.cpp",
455 "src/posix/platform/backbone.cpp",
456 "src/posix/platform/backtrace.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800457 "src/posix/platform/configuration.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800458 "src/posix/platform/config_file.cpp",
459 "src/posix/platform/daemon.cpp",
460 "src/posix/platform/entropy.cpp",
461 "src/posix/platform/firewall.cpp",
462 "src/posix/platform/hdlc_interface.cpp",
463 "src/posix/platform/infra_if.cpp",
464 "src/posix/platform/logging.cpp",
465 "src/posix/platform/mainloop.cpp",
466 "src/posix/platform/memory.cpp",
467 "src/posix/platform/misc.cpp",
468 "src/posix/platform/multicast_routing.cpp",
469 "src/posix/platform/netif.cpp",
470 "src/posix/platform/power.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800471 "src/posix/platform/radio.cpp",
472 "src/posix/platform/radio_url.cpp",
473 "src/posix/platform/resolver.cpp",
474 "src/posix/platform/settings.cpp",
475 "src/posix/platform/spi_interface.cpp",
476 "src/posix/platform/system.cpp",
477 "src/posix/platform/trel.cpp",
478 "src/posix/platform/udp.cpp",
479 "src/posix/platform/utils.cpp",
480 ],
481}
482
zhanglongxia896fa512021-09-23 12:06:53 +0800483cc_library_static {
Kangping Dongd1659f52023-07-24 18:53:26 +0800484 name: "ot-core",
Kangping Dong998ec712023-08-11 15:26:02 +0800485 apex_available: [ "com.android.tethering" ],
486 min_sdk_version: "30",
Kangping Dongd8f3dae2023-08-29 11:24:36 +0800487 defaults: [
488 "ot_config_defaults",
Kangping Donga2583d82023-09-04 19:57:18 +0800489 "ot-daemon-debuggable-cc-defaults",
Kangping Dongd8f3dae2023-08-29 11:24:36 +0800490 "ot_posix_cflags_defaults",
491 ],
Kangping Dongd1659f52023-07-24 18:53:26 +0800492 generated_headers: ["ot_version_header"],
493
494 local_include_dirs: [
495 "include",
496 "src",
497 "src/android/thread_network_hal",
498 "src/cli",
499 "src/core",
500 "src/ncp",
501 "src/posix/platform",
502 "src/posix/platform/include",
503 "third_party",
504 "third_party/mbedtls",
505 "third_party/mbedtls/repo/include",
506 ],
507
508 export_include_dirs: [
509 "include",
510 "src",
511 ],
512
513 cppflags: [
514 "-pedantic-errors",
515 "-Wno-non-virtual-dtor",
Kangping Dong998ec712023-08-11 15:26:02 +0800516 // Background: the HAL client implementation requires features which
517 // are available on only 31+, but the Tethering module requires the
518 // ot-daemon binary to support 30+.
519 // It's safe to suppress this warning because ot-daemon will never
520 // run below Android U (34).
521 "-Wno-unguarded-availability",
Kangping Dongd1659f52023-07-24 18:53:26 +0800522 ],
523
524 vintf_fragments: ["src/android/thread_network_hal/device_manifest.xml"],
525 shared_libs: [
526 "libbase",
527 "libcutils",
528 "libutils",
529 "libbinder_ndk",
530 "android.hardware.threadnetwork-V1-ndk",
531 ],
532
533 srcs: [
534 ":openthread_core_srcs",
535 ":openthread_mbedtls_srcs",
536 ":openthread_platform_posix_srcs",
537 "src/android/thread_network_hal/hal_interface.cpp",
538 "src/android/thread_network_hal/vendor_interface.cpp",
539 "src/lib/hdlc/hdlc.cpp",
540 "src/lib/platform/exit_code.c",
Zhanglong Xiabc9812c2023-10-12 15:07:30 +0800541 "src/lib/spinel/radio_spinel.cpp",
Kangping Dongd1659f52023-07-24 18:53:26 +0800542 "src/lib/spinel/spinel.c",
543 "src/lib/spinel/spinel_buffer.cpp",
544 "src/lib/spinel/spinel_decoder.cpp",
545 "src/lib/spinel/spinel_encoder.cpp",
546 "src/lib/url/url.cpp",
547 ],
548}
549
Kangping Dongd1659f52023-07-24 18:53:26 +0800550cc_library_static {
zhanglongxia896fa512021-09-23 12:06:53 +0800551 name: "libopenthread-cli",
Kangping Dong998ec712023-08-11 15:26:02 +0800552 apex_available: [ "com.android.tethering" ],
553 min_sdk_version: "30",
Kangping Dongd8f3dae2023-08-29 11:24:36 +0800554 defaults: [
555 "ot_config_defaults",
Kangping Donga2583d82023-09-04 19:57:18 +0800556 "ot-daemon-debuggable-cc-defaults",
Kangping Dongd8f3dae2023-08-29 11:24:36 +0800557 "ot_posix_cflags_defaults",
558 ],
zhanglongxia896fa512021-09-23 12:06:53 +0800559 generated_headers: ["ot_version_header"],
560
561 local_include_dirs: [
562 "include",
563 "src",
564 "src/cli",
565 "src/core",
566 "src/posix/platform",
567 "src/posix/platform/include",
568 "third_party/mbedtls",
569 "third_party/mbedtls/repo/include",
570 ],
571
Yakun Xu07935952022-04-13 17:43:15 +0800572 cflags: [
573 "-DOPENTHREAD_CONFIG_CLI_UART_TX_BUFFER_SIZE=3500",
574 "-DOPENTHREAD_CONFIG_CLI_UART_RX_BUFFER_SIZE=3500",
575 "-DOPENTHREAD_CONFIG_UART_CLI_RAW=1",
576 ],
zhanglongxia896fa512021-09-23 12:06:53 +0800577
578 cppflags: [
579 "-std=c++11",
580 "-pedantic-errors",
581 ],
582
583 srcs: [
584 "src/cli/cli.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800585 "src/cli/cli_bbr.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800586 "src/cli/cli_br.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800587 "src/cli/cli_coap.cpp",
588 "src/cli/cli_coap_secure.cpp",
589 "src/cli/cli_commissioner.cpp",
590 "src/cli/cli_dataset.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800591 "src/cli/cli_dns.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800592 "src/cli/cli_history.cpp",
593 "src/cli/cli_joiner.cpp",
Tony Zhouefa223f2023-10-09 10:42:46 +0800594 "src/cli/cli_mac_filter.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800595 "src/cli/cli_network_data.cpp",
zhanglongxia9954ffa2021-10-29 11:53:30 +0800596 "src/cli/cli_output.cpp",
zhanglongxia896fa512021-09-23 12:06:53 +0800597 "src/cli/cli_srp_client.cpp",
598 "src/cli/cli_srp_server.cpp",
599 "src/cli/cli_tcp.cpp",
600 "src/cli/cli_udp.cpp",
601 ],
602}
603
604cc_binary {
605 name: "ot-ctl",
Kangping Dong956b6b22023-09-02 22:32:06 +0800606 vendor: true,
Yakun Xu07935952022-04-13 17:43:15 +0800607 defaults: ["ot_posix_cflags_defaults"],
zhanglongxia896fa512021-09-23 12:06:53 +0800608 generated_headers: ["ot_version_header"],
609
610 cppflags: [
611 "-pedantic-errors",
612 ],
613
614 local_include_dirs: [
615 "include",
616 "src/",
617 "src/core",
618 "src/posix/platform",
619 "src/posix/platform/include",
620 ],
621
622 srcs: ["src/posix/client.cpp"],
623}
Yakun Xu07935952022-04-13 17:43:15 +0800624
625cc_defaults {
626 name: "ot_rcp_cflags_defaults",
627 cflags: [
628 "-DOPENTHREAD_RADIO=1",
629 ],
630}
631
632cc_defaults {
633 name : "ot_simulation_cflags_defaults",
634
635 local_include_dirs: [
636 "examples/platforms/simulation",
637 "examples/platforms",
638 "include",
639 "src",
640 "src/cli",
641 "src/core",
642 "src/ncp",
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800643 "src/lib/hdlc",
Yakun Xu07935952022-04-13 17:43:15 +0800644 "third_party",
645 "third_party/mbedtls",
646 "third_party/mbedtls/repo/include",
647 ],
648
649 export_include_dirs: [
650 "include",
651 "src",
652 ],
653
654 cflags: [
655 "-DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\"",
656 "-DOPENTHREAD_CONFIG_ANDROID_VERSION_HEADER_ENABLE=1",
657 "-DOPENTHREAD_CONFIG_FILE=\"openthread-config-android-version.h\"",
658 "-DOPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1",
659 "-DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1",
Yang Sunfca0b512023-09-22 10:30:22 +0800660 "-DOPENTHREAD_CONFIG_MLR_ENABLE=1",
Yakun Xu07935952022-04-13 17:43:15 +0800661 "-DOPENTHREAD_CONFIG_NCP_HDLC_ENABLE=1",
Handa Wang1c547232023-08-22 17:48:44 +0800662 "-DOPENTHREAD_CONFIG_PING_SENDER_ENABLE=1",
Yakun Xu07935952022-04-13 17:43:15 +0800663 "-DOPENTHREAD_EXAMPLES_SIMULATION=1",
Kangping Dongf885df72023-08-09 19:43:42 +0800664 "-DOPENTHREAD_CONFIG_TCP_ENABLE=0",
Yakun Xu07935952022-04-13 17:43:15 +0800665 "-DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"examples/platforms/simulation/openthread-core-simulation-config.h\"",
666 "-DPACKAGE=\"openthread\"",
667 "-DPACKAGE_BUGREPORT=\"openthread-devel@googlegroups.com\"",
668 "-DPACKAGE_NAME=\"OPENTHREAD\"",
669 "-DPACKAGE_TARNAME=\"openthread\"",
670 "-DPACKAGE_URL=\"http://github.com/openthread/openthread\"",
671 "-DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\"",
672 ],
673}
674
675cc_library_static {
676 name: "openthread-simulation",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800677 vendor_available: true,
Yakun Xu07935952022-04-13 17:43:15 +0800678
679 defaults: [
680 "ot_rcp_cflags_defaults",
681 "ot_simulation_cflags_defaults",
682 ],
683
684 srcs: [
Kangping Dongd1659f52023-07-24 18:53:26 +0800685 ":openthread_simulation_srcs",
Yakun Xu07935952022-04-13 17:43:15 +0800686 "src/lib/platform/exit_code.c",
Yakun Xu07935952022-04-13 17:43:15 +0800687 "third_party/mbedtls/repo/library/aes.c",
688 "third_party/mbedtls/repo/library/asn1parse.c",
689 "third_party/mbedtls/repo/library/asn1write.c",
690 "third_party/mbedtls/repo/library/base64.c",
691 "third_party/mbedtls/repo/library/bignum.c",
692 "third_party/mbedtls/repo/library/ccm.c",
693 "third_party/mbedtls/repo/library/cipher.c",
694 "third_party/mbedtls/repo/library/cipher_wrap.c",
695 "third_party/mbedtls/repo/library/cmac.c",
696 "third_party/mbedtls/repo/library/ctr_drbg.c",
697 "third_party/mbedtls/repo/library/debug.c",
698 "third_party/mbedtls/repo/library/entropy.c",
699 "third_party/mbedtls/repo/library/entropy_poll.c",
700 "third_party/mbedtls/repo/library/hmac_drbg.c",
701 "third_party/mbedtls/repo/library/md.c",
702 "third_party/mbedtls/repo/library/memory_buffer_alloc.c",
703 "third_party/mbedtls/repo/library/oid.c",
704 "third_party/mbedtls/repo/library/platform.c",
705 "third_party/mbedtls/repo/library/platform_util.c",
706 "third_party/mbedtls/repo/library/sha256.c",
707 ],
708
709 cflags: [
710 "-D_BSD_SOURCE=1",
711 "-D_DEFAULT_SOURCE=1",
712 ],
713}
714
715cc_library_static {
716 name: "openthread-radio",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800717 vendor_available: true,
Yakun Xu07935952022-04-13 17:43:15 +0800718
719 defaults: [
720 "ot_rcp_cflags_defaults",
721 "ot_simulation_cflags_defaults",
722 ],
723
724 generated_headers: ["ot_version_header"],
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800725 shared_libs: [
726 "libcutils",
727 ],
Yakun Xu07935952022-04-13 17:43:15 +0800728
729 srcs: [
730 "src/core/api/diags_api.cpp",
731 "src/core/api/error_api.cpp",
732 "src/core/api/instance_api.cpp",
733 "src/core/api/link_raw_api.cpp",
734 "src/core/api/logging_api.cpp",
735 "src/core/api/random_noncrypto_api.cpp",
736 "src/core/api/tasklet_api.cpp",
737 "src/core/common/binary_search.cpp",
738 "src/core/common/error.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800739 "src/core/common/frame_builder.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800740 "src/core/common/instance.cpp",
741 "src/core/common/log.cpp",
zhanglongxia27809642022-07-28 11:32:53 +0800742 "src/core/common/random.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800743 "src/core/common/string.cpp",
744 "src/core/common/tasklet.cpp",
745 "src/core/common/timer.cpp",
746 "src/core/common/uptime.cpp",
747 "src/core/crypto/aes_ccm.cpp",
748 "src/core/crypto/aes_ecb.cpp",
749 "src/core/crypto/crypto_platform.cpp",
750 "src/core/crypto/storage.cpp",
751 "src/core/diags/factory_diags.cpp",
752 "src/core/mac/link_raw.cpp",
753 "src/core/mac/mac_frame.cpp",
754 "src/core/mac/mac_types.cpp",
755 "src/core/mac/sub_mac.cpp",
756 "src/core/mac/sub_mac_callbacks.cpp",
757 "src/core/radio/radio.cpp",
758 "src/core/radio/radio_callbacks.cpp",
759 "src/core/radio/radio_platform.cpp",
760 "src/core/thread/link_quality.cpp",
761 "src/core/utils/parse_cmdline.cpp",
Zhanglong Xiaea414dc2023-05-15 21:51:50 +0800762 "src/core/utils/power_calibration.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800763 ],
764}
765
766cc_library_static {
767 name: "openthread-hdlc",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800768 vendor_available: true,
Yakun Xu07935952022-04-13 17:43:15 +0800769 defaults: [
770 "ot_rcp_cflags_defaults",
771 "ot_simulation_cflags_defaults",
772 ],
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800773 export_include_dirs: [
774 "include",
775 "src",
776 ],
Yakun Xu07935952022-04-13 17:43:15 +0800777 srcs: [
778 "src/lib/hdlc/hdlc.cpp",
779 ],
780}
781
782cc_library_static {
Zhanglong Xia286d1e32023-06-14 10:34:31 +0800783 name: "openthread-spi",
Zhanglong Xiac52b7042023-07-03 10:56:10 +0800784 vendor_available: true,
Zhanglong Xia286d1e32023-06-14 10:34:31 +0800785 local_include_dirs: [
786 "include",
787 "src",
788 "src/core",
789 "src/lib/platform",
790 "src/posix/platform",
791 "src/posix/platform/include",
792 ],
793 export_include_dirs: [
794 "include",
795 "src/core",
796 "src/posix/platform",
797 "src/posix/platform/include",
798 ],
799
800 cflags: [
Zhanglong Xiabc9812c2023-10-12 15:07:30 +0800801 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=1",
Zhanglong Xia286d1e32023-06-14 10:34:31 +0800802 ],
803
804 srcs: [
805 "src/posix/platform/spi_interface.cpp",
806 ],
807}
808
809cc_library_static {
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800810 name: "openthread-url",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800811 vendor_available: true,
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800812 local_include_dirs: [
813 "include",
814 "src",
815 "src/core",
816 "src/lib/url",
817 ],
818 export_include_dirs: [
819 "include",
820 "src",
821 ],
822 srcs: [
823 "src/lib/url/url.cpp",
824 ],
825}
826
827cc_library_static {
828 name: "openthread-platform",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800829 vendor_available: true,
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800830 local_include_dirs: [
831 "include",
832 "src",
833 "src/core",
834 "src/lib/platform",
835 ],
836 export_include_dirs: [
837 "include",
838 "src",
839 ],
840 srcs: [
841 "src/lib/platform/exit_code.c",
842 ],
843}
844
845
846cc_library_static {
Yakun Xu07935952022-04-13 17:43:15 +0800847 name: "openthread-spinel-rcp",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800848 vendor_available: true,
Yakun Xu07935952022-04-13 17:43:15 +0800849
850 defaults: [
851 "ot_rcp_cflags_defaults",
852 "ot_simulation_cflags_defaults",
853 ],
854
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800855 export_include_dirs: [
856 "include",
857 "src",
858 ],
859
Yakun Xu07935952022-04-13 17:43:15 +0800860 srcs: [
Zhanglong Xiabc9812c2023-10-12 15:07:30 +0800861 "src/lib/spinel/radio_spinel.cpp",
Yakun Xu07935952022-04-13 17:43:15 +0800862 "src/lib/spinel/spinel.c",
863 "src/lib/spinel/spinel_buffer.cpp",
864 "src/lib/spinel/spinel_decoder.cpp",
865 "src/lib/spinel/spinel_encoder.cpp",
866 ],
867}
868
869cc_library_static {
870 name: "openthread-rcp",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800871 vendor_available: true,
Yakun Xu07935952022-04-13 17:43:15 +0800872
873 defaults: [
874 "ot_rcp_cflags_defaults",
875 "ot_simulation_cflags_defaults",
876 ],
877
878 srcs: [
879 "src/ncp/changed_props_set.cpp",
880 "src/ncp/ncp_base.cpp",
881 "src/ncp/ncp_base_dispatcher.cpp",
882 "src/ncp/ncp_base_radio.cpp",
883 "src/ncp/ncp_spi.cpp",
884 "src/ncp/ncp_hdlc.cpp",
885 ],
886}
887
888cc_binary {
889 name: "ot-rcp",
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800890 vendor: true,
Yakun Xu07935952022-04-13 17:43:15 +0800891 defaults: [
892 "ot_rcp_cflags_defaults",
893 "ot_simulation_cflags_defaults",
894 ],
895
896 srcs: [
897 "examples/apps/ncp/main.c",
898 "examples/apps/ncp/ncp.c",
899 ],
900
901 static_libs: [
Jooyung Han6fe884a2023-08-24 17:34:27 +0900902 "libbase",
903 "libcutils",
904 "libutils",
Yakun Xu07935952022-04-13 17:43:15 +0800905 "openthread-hdlc",
906 "openthread-radio",
907 "openthread-spinel-rcp",
908 "openthread-rcp",
909 "openthread-simulation",
910 "openthread-radio",
911 ],
912
Jooyung Han6fe884a2023-08-24 17:34:27 +0900913 stl: "c++_static",
Yakun Xu07935952022-04-13 17:43:15 +0800914}
915
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800916cc_library_static {
917 name: "openthread-posix",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800918 vendor_available: true,
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800919 local_include_dirs: [
920 "include",
921 "src",
922 "src/core",
923 "src/lib/platform",
924 "src/posix/platform",
925 "src/posix/platform/include",
926 ],
927 export_include_dirs: [
928 "include",
929 "src/core",
930 "src/posix/platform",
931 "src/posix/platform/include",
932 ],
933
934 cflags: [
Zhanglong Xiabc9812c2023-10-12 15:07:30 +0800935 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=1",
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800936 "-DOPENTHREAD_OSIX_CONFIG_RCP_PTY_ENABLE=1",
937 ],
938
939 cppflags: [
940 "-Wno-non-virtual-dtor",
941 ],
942
943 srcs: [
944 "src/posix/platform/alarm.cpp",
945 "src/posix/platform/mainloop.cpp",
946 "src/posix/platform/hdlc_interface.cpp",
947 ],
948}
949
950cc_library_static {
951 name: "openthread-common",
Zhanglong Xiae2b0bae2023-06-15 10:25:40 +0800952 vendor_available: true,
Zhanglong Xia8abd3d92023-02-09 17:47:44 +0800953 local_include_dirs: [
954 "include",
955 "src",
956 "src/core",
957 ],
958
959 export_include_dirs: [
960 "include",
961 "src/core",
962 ],
963
964 srcs: [
965 "src/core/common/error.cpp",
966 "src/core/api/error_api.cpp",
967 ],
968}
Kangping Dongd1659f52023-07-24 18:53:26 +0800969
970cc_binary {
971 name: "ot-cli-ftd",
972 defaults: [
973 "ot_simulation_cflags_defaults",
974 ],
975
976 cflags: [
977 "-DOPENTHREAD_FTD=1",
978 "-DOPENTHREAD_CONFIG_POSIX_SETTINGS_PATH=\"/data/vendor/threadnetwork/simulation\"",
979 ],
980
981 srcs: [
982 ":openthread_core_srcs",
983 ":openthread_simulation_srcs",
984 ":openthread_cli_srcs",
985 ":openthread_mbedtls_srcs",
986 "examples/apps/cli/cli_uart.cpp",
987 "examples/apps/cli/main.c",
988 ],
989
990 static_libs: [
991 "openthread-platform",
Kangping Dongd1659f52023-07-24 18:53:26 +0800992 ],
993
994 shared_libs: [
995 "libcutils", // Required by src/core/instance_api.cpp
996 ],
997
998 init_rc: ["src/android/ot-cli-ftd.rc"],
999 vendor: true,
1000}