1// 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 29package { 30 default_team: "trendy_team_fwk_thread_network", 31 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 72cc_defaults { 73 name: "ot_posix_cflags_defaults", 74 cflags: [ 75 "-DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\"", 76 "-DOPENTHREAD_CONFIG_FILE=\"src/android/openthread-android-config.h\"", 77 "-DOPENTHREAD_FTD=1", 78 "-DOPENTHREAD_POSIX=1", 79 "-DOPENTHREAD_POSIX_CONFIG_DAEMON_ENABLE=1", 80 "-DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"src/android/openthread-core-android-config.h\"", 81 "-DOPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=1", 82 "-DOPENTHREAD_CONFIG_JOINER_ENABLE=1", 83 "-DPACKAGE=\"openthread\"", 84 "-DPACKAGE_BUGREPORT=\"openthread-devel@googlegroups.com\"", 85 "-DPACKAGE_NAME=\"OPENTHREAD\"", 86 "-DPACKAGE_TARNAME=\"openthread\"", 87 "-DPACKAGE_URL=\"http://github.com/openthread/openthread\"", 88 "-DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\"", 89 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=0", 90 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_VENDOR_INTERFACE_ENABLE=1", 91 ], 92} 93 94genrule { 95 name: "ot_version_header", 96 cmd: "$(location src/android/config-android-version-gen.sh) < $(in) > $(out)", 97 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", 101 ], 102} 103 104filegroup { 105 name: "openthread_core_srcs", 106 srcs: [ 107 "src/core/api/backbone_router_api.cpp", 108 "src/core/api/backbone_router_ftd_api.cpp", 109 "src/core/api/border_agent_api.cpp", 110 "src/core/api/border_router_api.cpp", 111 "src/core/api/border_routing_api.cpp", 112 "src/core/api/channel_manager_api.cpp", 113 "src/core/api/channel_monitor_api.cpp", 114 "src/core/api/child_supervision_api.cpp", 115 "src/core/api/coap_api.cpp", 116 "src/core/api/coap_secure_api.cpp", 117 "src/core/api/commissioner_api.cpp", 118 "src/core/api/crypto_api.cpp", 119 "src/core/api/dataset_api.cpp", 120 "src/core/api/dataset_ftd_api.cpp", 121 "src/core/api/dataset_updater_api.cpp", 122 "src/core/api/diags_api.cpp", 123 "src/core/api/dns_api.cpp", 124 "src/core/api/dns_server_api.cpp", 125 "src/core/api/error_api.cpp", 126 "src/core/api/heap_api.cpp", 127 "src/core/api/history_tracker_api.cpp", 128 "src/core/api/icmp6_api.cpp", 129 "src/core/api/instance_api.cpp", 130 "src/core/api/ip6_api.cpp", 131 "src/core/api/jam_detection_api.cpp", 132 "src/core/api/joiner_api.cpp", 133 "src/core/api/link_api.cpp", 134 "src/core/api/link_metrics_api.cpp", 135 "src/core/api/link_raw_api.cpp", 136 "src/core/api/logging_api.cpp", 137 "src/core/api/mesh_diag_api.cpp", 138 "src/core/api/message_api.cpp", 139 "src/core/api/multi_radio_api.cpp", 140 "src/core/api/nat64_api.cpp", 141 "src/core/api/netdata_api.cpp", 142 "src/core/api/netdata_publisher_api.cpp", 143 "src/core/api/netdiag_api.cpp", 144 "src/core/api/network_time_api.cpp", 145 "src/core/api/ping_sender_api.cpp", 146 "src/core/api/radio_stats_api.cpp", 147 "src/core/api/random_crypto_api.cpp", 148 "src/core/api/random_noncrypto_api.cpp", 149 "src/core/api/server_api.cpp", 150 "src/core/api/sntp_api.cpp", 151 "src/core/api/srp_client_api.cpp", 152 "src/core/api/srp_client_buffers_api.cpp", 153 "src/core/api/srp_server_api.cpp", 154 "src/core/api/tasklet_api.cpp", 155 "src/core/api/tcp_api.cpp", 156 "src/core/api/tcp_ext_api.cpp", 157 "src/core/api/thread_api.cpp", 158 "src/core/api/thread_ftd_api.cpp", 159 "src/core/api/trel_api.cpp", 160 "src/core/api/udp_api.cpp", 161 "src/core/backbone_router/backbone_tmf.cpp", 162 "src/core/backbone_router/bbr_leader.cpp", 163 "src/core/backbone_router/bbr_local.cpp", 164 "src/core/backbone_router/bbr_manager.cpp", 165 "src/core/backbone_router/multicast_listeners_table.cpp", 166 "src/core/backbone_router/ndproxy_table.cpp", 167 "src/core/border_router/infra_if.cpp", 168 "src/core/border_router/routing_manager.cpp", 169 "src/core/coap/coap.cpp", 170 "src/core/coap/coap_message.cpp", 171 "src/core/coap/coap_secure.cpp", 172 "src/core/common/appender.cpp", 173 "src/core/common/binary_search.cpp", 174 "src/core/common/crc16.cpp", 175 "src/core/common/data.cpp", 176 "src/core/common/error.cpp", 177 "src/core/common/frame_builder.cpp", 178 "src/core/common/frame_data.cpp", 179 "src/core/common/heap.cpp", 180 "src/core/common/heap_data.cpp", 181 "src/core/common/heap_string.cpp", 182 "src/core/common/log.cpp", 183 "src/core/common/message.cpp", 184 "src/core/common/notifier.cpp", 185 "src/core/common/preference.cpp", 186 "src/core/common/random.cpp", 187 "src/core/common/settings.cpp", 188 "src/core/common/string.cpp", 189 "src/core/common/tasklet.cpp", 190 "src/core/common/time_ticker.cpp", 191 "src/core/common/timer.cpp", 192 "src/core/common/tlvs.cpp", 193 "src/core/common/trickle_timer.cpp", 194 "src/core/common/uptime.cpp", 195 "src/core/crypto/aes_ccm.cpp", 196 "src/core/crypto/aes_ecb.cpp", 197 "src/core/crypto/crypto_platform.cpp", 198 "src/core/crypto/hkdf_sha256.cpp", 199 "src/core/crypto/hmac_sha256.cpp", 200 "src/core/crypto/mbedtls.cpp", 201 "src/core/crypto/sha256.cpp", 202 "src/core/crypto/storage.cpp", 203 "src/core/diags/factory_diags.cpp", 204 "src/core/instance/instance.cpp", 205 "src/core/mac/channel_mask.cpp", 206 "src/core/mac/data_poll_handler.cpp", 207 "src/core/mac/data_poll_sender.cpp", 208 "src/core/mac/link_raw.cpp", 209 "src/core/mac/mac.cpp", 210 "src/core/mac/mac_filter.cpp", 211 "src/core/mac/mac_frame.cpp", 212 "src/core/mac/mac_links.cpp", 213 "src/core/mac/mac_types.cpp", 214 "src/core/mac/sub_mac.cpp", 215 "src/core/mac/sub_mac_callbacks.cpp", 216 "src/core/meshcop/announce_begin_client.cpp", 217 "src/core/meshcop/border_agent.cpp", 218 "src/core/meshcop/commissioner.cpp", 219 "src/core/meshcop/dataset.cpp", 220 "src/core/meshcop/dataset_local.cpp", 221 "src/core/meshcop/dataset_manager.cpp", 222 "src/core/meshcop/dataset_manager_ftd.cpp", 223 "src/core/meshcop/dataset_updater.cpp", 224 "src/core/meshcop/energy_scan_client.cpp", 225 "src/core/meshcop/extended_panid.cpp", 226 "src/core/meshcop/joiner.cpp", 227 "src/core/meshcop/joiner_router.cpp", 228 "src/core/meshcop/meshcop.cpp", 229 "src/core/meshcop/meshcop_leader.cpp", 230 "src/core/meshcop/meshcop_tlvs.cpp", 231 "src/core/meshcop/network_name.cpp", 232 "src/core/meshcop/panid_query_client.cpp", 233 "src/core/meshcop/secure_transport.cpp", 234 "src/core/meshcop/timestamp.cpp", 235 "src/core/net/checksum.cpp", 236 "src/core/net/dhcp6_client.cpp", 237 "src/core/net/dhcp6_server.cpp", 238 "src/core/net/dns_client.cpp", 239 "src/core/net/dns_dso.cpp", 240 "src/core/net/dns_platform.cpp", 241 "src/core/net/dns_types.cpp", 242 "src/core/net/dnssd_server.cpp", 243 "src/core/net/icmp6.cpp", 244 "src/core/net/ip4_types.cpp", 245 "src/core/net/ip6.cpp", 246 "src/core/net/ip6_address.cpp", 247 "src/core/net/ip6_filter.cpp", 248 "src/core/net/ip6_headers.cpp", 249 "src/core/net/ip6_mpl.cpp", 250 "src/core/net/nat64_translator.cpp", 251 "src/core/net/nd6.cpp", 252 "src/core/net/nd_agent.cpp", 253 "src/core/net/netif.cpp", 254 "src/core/net/sntp_client.cpp", 255 "src/core/net/socket.cpp", 256 "src/core/net/srp_client.cpp", 257 "src/core/net/srp_server.cpp", 258 "src/core/net/tcp6.cpp", 259 "src/core/net/tcp6_ext.cpp", 260 "src/core/net/udp6.cpp", 261 "src/core/radio/radio.cpp", 262 "src/core/radio/radio_callbacks.cpp", 263 "src/core/radio/radio_platform.cpp", 264 "src/core/radio/trel_interface.cpp", 265 "src/core/radio/trel_link.cpp", 266 "src/core/radio/trel_packet.cpp", 267 "src/core/thread/address_resolver.cpp", 268 "src/core/thread/announce_begin_server.cpp", 269 "src/core/thread/announce_sender.cpp", 270 "src/core/thread/anycast_locator.cpp", 271 "src/core/thread/child.cpp", 272 "src/core/thread/child_supervision.cpp", 273 "src/core/thread/child_table.cpp", 274 "src/core/thread/csl_tx_scheduler.cpp", 275 "src/core/thread/discover_scanner.cpp", 276 "src/core/thread/dua_manager.cpp", 277 "src/core/thread/energy_scan_server.cpp", 278 "src/core/thread/indirect_sender.cpp", 279 "src/core/thread/key_manager.cpp", 280 "src/core/thread/link_metrics.cpp", 281 "src/core/thread/link_metrics_types.cpp", 282 "src/core/thread/link_quality.cpp", 283 "src/core/thread/lowpan.cpp", 284 "src/core/thread/mesh_forwarder.cpp", 285 "src/core/thread/mesh_forwarder_ftd.cpp", 286 "src/core/thread/mesh_forwarder_mtd.cpp", 287 "src/core/thread/mle.cpp", 288 "src/core/thread/mle_router.cpp", 289 "src/core/thread/mle_tlvs.cpp", 290 "src/core/thread/mle_types.cpp", 291 "src/core/thread/mlr_manager.cpp", 292 "src/core/thread/neighbor.cpp", 293 "src/core/thread/neighbor_table.cpp", 294 "src/core/thread/network_data.cpp", 295 "src/core/thread/network_data_leader.cpp", 296 "src/core/thread/network_data_leader_ftd.cpp", 297 "src/core/thread/network_data_local.cpp", 298 "src/core/thread/network_data_notifier.cpp", 299 "src/core/thread/network_data_publisher.cpp", 300 "src/core/thread/network_data_service.cpp", 301 "src/core/thread/network_data_tlvs.cpp", 302 "src/core/thread/network_data_types.cpp", 303 "src/core/thread/network_diagnostic.cpp", 304 "src/core/thread/network_diagnostic_tlvs.cpp", 305 "src/core/thread/panid_query_server.cpp", 306 "src/core/thread/radio_selector.cpp", 307 "src/core/thread/router.cpp", 308 "src/core/thread/router_table.cpp", 309 "src/core/thread/src_match_controller.cpp", 310 "src/core/thread/thread_netif.cpp", 311 "src/core/thread/time_sync_service.cpp", 312 "src/core/thread/tmf.cpp", 313 "src/core/thread/uri_paths.cpp", 314 "src/core/utils/channel_manager.cpp", 315 "src/core/utils/channel_monitor.cpp", 316 "src/core/utils/flash.cpp", 317 "src/core/utils/heap.cpp", 318 "src/core/utils/history_tracker.cpp", 319 "src/core/utils/jam_detector.cpp", 320 "src/core/utils/mesh_diag.cpp", 321 "src/core/utils/otns.cpp", 322 "src/core/utils/parse_cmdline.cpp", 323 "src/core/utils/ping_sender.cpp", 324 "src/core/utils/power_calibration.cpp", 325 "src/core/utils/slaac_address.cpp", 326 "src/core/utils/srp_client_buffers.cpp", 327 ], 328} 329 330filegroup { 331 name: "openthread_cli_srcs", 332 srcs: [ 333 "src/cli/cli.cpp", 334 "src/cli/cli_bbr.cpp", 335 "src/cli/cli_br.cpp", 336 "src/cli/cli_coap.cpp", 337 "src/cli/cli_coap_secure.cpp", 338 "src/cli/cli_commissioner.cpp", 339 "src/cli/cli_dataset.cpp", 340 "src/cli/cli_dns.cpp", 341 "src/cli/cli_history.cpp", 342 "src/cli/cli_joiner.cpp", 343 "src/cli/cli_link_metrics.cpp", 344 "src/cli/cli_mac_filter.cpp", 345 "src/cli/cli_network_data.cpp", 346 "src/cli/cli_ping.cpp", 347 "src/cli/cli_srp_client.cpp", 348 "src/cli/cli_srp_server.cpp", 349 "src/cli/cli_tcp.cpp", 350 "src/cli/cli_udp.cpp", 351 "src/cli/cli_utils.cpp", 352 ], 353} 354 355filegroup { 356 name: "openthread_ncp_srcs", 357 srcs: [ 358 "src/ncp/changed_props_set.cpp", 359 "src/ncp/ncp_base.cpp", 360 "src/ncp/ncp_base_dispatcher.cpp", 361 "src/ncp/ncp_base_radio.cpp", 362 "src/ncp/ncp_spi.cpp", 363 "src/ncp/ncp_hdlc.cpp", 364 ], 365} 366 367filegroup { 368 name: "openthread_simulation_srcs", 369 srcs: [ 370 "examples/platforms/simulation/alarm.c", 371 "examples/platforms/simulation/crypto.c", 372 "examples/platforms/simulation/diag.c", 373 "examples/platforms/simulation/entropy.c", 374 "examples/platforms/simulation/flash.c", 375 "examples/platforms/simulation/infra_if.c", 376 "examples/platforms/simulation/logging.c", 377 "examples/platforms/simulation/misc.c", 378 "examples/platforms/simulation/radio.c", 379 "examples/platforms/simulation/simul_utils.c", 380 "examples/platforms/simulation/spi-stubs.c", 381 "examples/platforms/simulation/system.c", 382 "examples/platforms/simulation/trel.c", 383 "examples/platforms/simulation/uart.c", 384 "examples/platforms/utils/link_metrics.cpp", 385 "examples/platforms/utils/mac_frame.cpp", 386 "examples/platforms/utils/settings_ram.c", 387 "examples/platforms/utils/soft_source_match_table.c", 388 ], 389} 390 391filegroup { 392 name: "openthread_mbedtls_srcs", 393 srcs: [ 394 "third_party/mbedtls/repo/library/aes.c", 395 "third_party/mbedtls/repo/library/asn1parse.c", 396 "third_party/mbedtls/repo/library/asn1write.c", 397 "third_party/mbedtls/repo/library/base64.c", 398 "third_party/mbedtls/repo/library/bignum.c", 399 "third_party/mbedtls/repo/library/ccm.c", 400 "third_party/mbedtls/repo/library/cipher.c", 401 "third_party/mbedtls/repo/library/cipher_wrap.c", 402 "third_party/mbedtls/repo/library/cmac.c", 403 "third_party/mbedtls/repo/library/constant_time.c", 404 "third_party/mbedtls/repo/library/ctr_drbg.c", 405 "third_party/mbedtls/repo/library/debug.c", 406 "third_party/mbedtls/repo/library/ecdh.c", 407 "third_party/mbedtls/repo/library/ecdsa.c", 408 "third_party/mbedtls/repo/library/ecjpake.c", 409 "third_party/mbedtls/repo/library/ecp.c", 410 "third_party/mbedtls/repo/library/ecp_curves.c", 411 "third_party/mbedtls/repo/library/entropy.c", 412 "third_party/mbedtls/repo/library/entropy_poll.c", 413 "third_party/mbedtls/repo/library/hmac_drbg.c", 414 "third_party/mbedtls/repo/library/md.c", 415 "third_party/mbedtls/repo/library/memory_buffer_alloc.c", 416 "third_party/mbedtls/repo/library/oid.c", 417 "third_party/mbedtls/repo/library/pem.c", 418 "third_party/mbedtls/repo/library/pk.c", 419 "third_party/mbedtls/repo/library/pk_wrap.c", 420 "third_party/mbedtls/repo/library/pkparse.c", 421 "third_party/mbedtls/repo/library/pkwrite.c", 422 "third_party/mbedtls/repo/library/platform.c", 423 "third_party/mbedtls/repo/library/platform_util.c", 424 "third_party/mbedtls/repo/library/sha256.c", 425 "third_party/mbedtls/repo/library/ssl_ciphersuites.c", 426 "third_party/mbedtls/repo/library/ssl_cli.c", 427 "third_party/mbedtls/repo/library/ssl_cookie.c", 428 "third_party/mbedtls/repo/library/ssl_msg.c", 429 "third_party/mbedtls/repo/library/ssl_srv.c", 430 "third_party/mbedtls/repo/library/ssl_ticket.c", 431 "third_party/mbedtls/repo/library/ssl_tls.c", 432 "third_party/mbedtls/repo/library/threading.c", 433 "third_party/mbedtls/repo/library/x509.c", 434 "third_party/mbedtls/repo/library/x509_crt.c", 435 ], 436} 437 438filegroup { 439 name: "openthread_platform_posix_srcs", 440 srcs: [ 441 "src/posix/platform/alarm.cpp", 442 "src/posix/platform/backtrace.cpp", 443 "src/posix/platform/configuration.cpp", 444 "src/posix/platform/config_file.cpp", 445 "src/posix/platform/daemon.cpp", 446 "src/posix/platform/entropy.cpp", 447 "src/posix/platform/firewall.cpp", 448 "src/posix/platform/hdlc_interface.cpp", 449 "src/posix/platform/infra_if.cpp", 450 "src/posix/platform/logging.cpp", 451 "src/posix/platform/mainloop.cpp", 452 "src/posix/platform/memory.cpp", 453 "src/posix/platform/misc.cpp", 454 "src/posix/platform/multicast_routing.cpp", 455 "src/posix/platform/netif.cpp", 456 "src/posix/platform/power.cpp", 457 "src/posix/platform/radio.cpp", 458 "src/posix/platform/radio_url.cpp", 459 "src/posix/platform/resolver.cpp", 460 "src/posix/platform/settings.cpp", 461 "src/posix/platform/spi_interface.cpp", 462 "src/posix/platform/system.cpp", 463 "src/posix/platform/trel.cpp", 464 "src/posix/platform/udp.cpp", 465 "src/posix/platform/utils.cpp", 466 ], 467} 468 469cc_library_static { 470 name: "ot-core", 471 apex_available: ["com.android.tethering"], 472 min_sdk_version: "30", 473 defaults: [ 474 "ot-daemon-debuggable-cc-defaults", 475 "ot_posix_cflags_defaults", 476 ], 477 generated_headers: ["ot_version_header"], 478 479 local_include_dirs: [ 480 "include", 481 "src", 482 "src/android/thread_network_hal", 483 "src/cli", 484 "src/core", 485 "src/ncp", 486 "src/posix/platform", 487 "src/posix/platform/include", 488 "third_party", 489 "third_party/mbedtls", 490 "third_party/mbedtls/repo/include", 491 ], 492 493 export_include_dirs: [ 494 "include", 495 "src", 496 ], 497 498 cppflags: [ 499 "-pedantic-errors", 500 "-Wno-non-virtual-dtor", 501 // Background: the HAL client implementation requires features which 502 // are available on only 31+, but the Tethering module requires the 503 // ot-daemon binary to support 30+. 504 // It's safe to suppress this warning because ot-daemon will never 505 // run below Android U (34). 506 "-Wno-unguarded-availability", 507 ], 508 509 vintf_fragments: ["src/android/thread_network_hal/device_manifest.xml"], 510 shared_libs: [ 511 "libbase", 512 "libcutils", 513 "libutils", 514 "libbinder_ndk", 515 "android.hardware.threadnetwork-V1-ndk", 516 ], 517 518 srcs: [ 519 ":openthread_core_srcs", 520 ":openthread_mbedtls_srcs", 521 ":openthread_platform_posix_srcs", 522 "src/android/thread_network_hal/hal_interface.cpp", 523 "src/android/thread_network_hal/vendor_interface.cpp", 524 "src/lib/hdlc/hdlc.cpp", 525 "src/lib/platform/exit_code.c", 526 "src/lib/spinel/logger.cpp", 527 "src/lib/spinel/radio_spinel.cpp", 528 "src/lib/spinel/spinel.c", 529 "src/lib/spinel/spinel_buffer.cpp", 530 "src/lib/spinel/spinel_decoder.cpp", 531 "src/lib/spinel/spinel_encoder.cpp", 532 "src/lib/url/url.cpp", 533 ], 534} 535 536cc_library_static { 537 name: "libopenthread-cli", 538 apex_available: ["com.android.tethering"], 539 min_sdk_version: "30", 540 defaults: [ 541 "ot-daemon-debuggable-cc-defaults", 542 "ot_posix_cflags_defaults", 543 ], 544 generated_headers: ["ot_version_header"], 545 546 local_include_dirs: [ 547 "include", 548 "src", 549 "src/cli", 550 "src/core", 551 "src/posix/platform", 552 "src/posix/platform/include", 553 "third_party/mbedtls", 554 "third_party/mbedtls/repo/include", 555 ], 556 557 cflags: [ 558 "-DOPENTHREAD_CONFIG_CLI_UART_TX_BUFFER_SIZE=3500", 559 "-DOPENTHREAD_CONFIG_CLI_UART_RX_BUFFER_SIZE=3500", 560 "-DOPENTHREAD_CONFIG_UART_CLI_RAW=1", 561 ], 562 563 cppflags: [ 564 "-std=c++11", 565 "-pedantic-errors", 566 ], 567 568 srcs: [ 569 "src/cli/cli.cpp", 570 "src/cli/cli_bbr.cpp", 571 "src/cli/cli_br.cpp", 572 "src/cli/cli_coap.cpp", 573 "src/cli/cli_coap_secure.cpp", 574 "src/cli/cli_commissioner.cpp", 575 "src/cli/cli_dataset.cpp", 576 "src/cli/cli_dns.cpp", 577 "src/cli/cli_history.cpp", 578 "src/cli/cli_joiner.cpp", 579 "src/cli/cli_link_metrics.cpp", 580 "src/cli/cli_mac_filter.cpp", 581 "src/cli/cli_network_data.cpp", 582 "src/cli/cli_ping.cpp", 583 "src/cli/cli_srp_client.cpp", 584 "src/cli/cli_srp_server.cpp", 585 "src/cli/cli_tcp.cpp", 586 "src/cli/cli_udp.cpp", 587 "src/cli/cli_utils.cpp", 588 ], 589} 590 591cc_binary { 592 name: "ot-ctl", 593 defaults: ["ot_posix_cflags_defaults"], 594 generated_headers: ["ot_version_header"], 595 596 cppflags: [ 597 "-pedantic-errors", 598 ], 599 600 local_include_dirs: [ 601 "include", 602 "src/", 603 "src/core", 604 "src/posix/platform", 605 "src/posix/platform/include", 606 ], 607 608 srcs: ["src/posix/client.cpp"], 609} 610 611cc_defaults { 612 name: "ot_rcp_cflags_defaults", 613 cflags: [ 614 "-DOPENTHREAD_RADIO=1", 615 ], 616} 617 618cc_defaults { 619 name: "ot_simulation_cflags_defaults", 620 621 local_include_dirs: [ 622 "examples/platforms/simulation", 623 "examples/platforms", 624 "include", 625 "src", 626 "src/cli", 627 "src/core", 628 "src/ncp", 629 "src/lib/hdlc", 630 "third_party", 631 "third_party/mbedtls", 632 "third_party/mbedtls/repo/include", 633 ], 634 635 export_include_dirs: [ 636 "include", 637 "src", 638 ], 639 640 cflags: [ 641 "-DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\"", 642 "-DOPENTHREAD_CONFIG_ANDROID_VERSION_HEADER_ENABLE=1", 643 "-DOPENTHREAD_CONFIG_DIAG_ENABLE=1", 644 "-DOPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1", 645 "-DOPENTHREAD_CONFIG_ECDSA_ENABLE=1", 646 "-DOPENTHREAD_CONFIG_FILE=\"openthread-config-android-version.h\"", 647 "-DOPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1", 648 "-DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1", 649 "-DOPENTHREAD_CONFIG_MLR_ENABLE=1", 650 "-DOPENTHREAD_CONFIG_NCP_HDLC_ENABLE=1", 651 "-DOPENTHREAD_CONFIG_PING_SENDER_ENABLE=1", 652 "-DOPENTHREAD_CONFIG_SRP_CLIENT_ENABLE=1", 653 "-DOPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE=0", 654 "-DOPENTHREAD_EXAMPLES_SIMULATION=1", 655 "-DOPENTHREAD_CONFIG_TCP_ENABLE=0", 656 "-DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"examples/platforms/simulation/openthread-core-simulation-config.h\"", 657 "-DOPENTHREAD_SETTINGS_RAM=1", 658 "-DOPENTHREAD_SIMULATION_MAX_NETWORK_SIZE=128", 659 "-DPACKAGE=\"openthread\"", 660 "-DPACKAGE_BUGREPORT=\"openthread-devel@googlegroups.com\"", 661 "-DPACKAGE_NAME=\"OPENTHREAD\"", 662 "-DPACKAGE_TARNAME=\"openthread\"", 663 "-DPACKAGE_URL=\"http://github.com/openthread/openthread\"", 664 "-DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\"", 665 "-Wno-implicit-fallthrough", 666 ], 667} 668 669cc_library_static { 670 name: "openthread-simulation", 671 vendor_available: true, 672 673 defaults: [ 674 "ot_rcp_cflags_defaults", 675 "ot_simulation_cflags_defaults", 676 ], 677 678 srcs: [ 679 ":openthread_simulation_srcs", 680 "src/lib/platform/exit_code.c", 681 "third_party/mbedtls/repo/library/aes.c", 682 "third_party/mbedtls/repo/library/asn1parse.c", 683 "third_party/mbedtls/repo/library/asn1write.c", 684 "third_party/mbedtls/repo/library/base64.c", 685 "third_party/mbedtls/repo/library/bignum.c", 686 "third_party/mbedtls/repo/library/ccm.c", 687 "third_party/mbedtls/repo/library/cipher.c", 688 "third_party/mbedtls/repo/library/cipher_wrap.c", 689 "third_party/mbedtls/repo/library/cmac.c", 690 "third_party/mbedtls/repo/library/ctr_drbg.c", 691 "third_party/mbedtls/repo/library/debug.c", 692 "third_party/mbedtls/repo/library/entropy.c", 693 "third_party/mbedtls/repo/library/entropy_poll.c", 694 "third_party/mbedtls/repo/library/hmac_drbg.c", 695 "third_party/mbedtls/repo/library/md.c", 696 "third_party/mbedtls/repo/library/memory_buffer_alloc.c", 697 "third_party/mbedtls/repo/library/oid.c", 698 "third_party/mbedtls/repo/library/platform.c", 699 "third_party/mbedtls/repo/library/platform_util.c", 700 "third_party/mbedtls/repo/library/sha256.c", 701 ], 702 703 cflags: [ 704 "-D_BSD_SOURCE=1", 705 "-D_DEFAULT_SOURCE=1", 706 ], 707} 708 709cc_library_static { 710 name: "openthread-radio", 711 vendor_available: true, 712 713 defaults: [ 714 "ot_rcp_cflags_defaults", 715 "ot_simulation_cflags_defaults", 716 ], 717 718 generated_headers: ["ot_version_header"], 719 shared_libs: [ 720 "libcutils", 721 ], 722 723 srcs: [ 724 "src/core/api/diags_api.cpp", 725 "src/core/api/error_api.cpp", 726 "src/core/api/instance_api.cpp", 727 "src/core/api/link_raw_api.cpp", 728 "src/core/api/logging_api.cpp", 729 "src/core/api/random_noncrypto_api.cpp", 730 "src/core/api/tasklet_api.cpp", 731 "src/core/common/binary_search.cpp", 732 "src/core/common/error.cpp", 733 "src/core/common/frame_builder.cpp", 734 "src/core/common/log.cpp", 735 "src/core/common/random.cpp", 736 "src/core/common/string.cpp", 737 "src/core/common/tasklet.cpp", 738 "src/core/common/timer.cpp", 739 "src/core/common/uptime.cpp", 740 "src/core/crypto/aes_ccm.cpp", 741 "src/core/crypto/aes_ecb.cpp", 742 "src/core/crypto/crypto_platform.cpp", 743 "src/core/crypto/storage.cpp", 744 "src/core/diags/factory_diags.cpp", 745 "src/core/instance/instance.cpp", 746 "src/core/mac/link_raw.cpp", 747 "src/core/mac/mac_frame.cpp", 748 "src/core/mac/mac_types.cpp", 749 "src/core/mac/sub_mac.cpp", 750 "src/core/mac/sub_mac_callbacks.cpp", 751 "src/core/radio/radio.cpp", 752 "src/core/radio/radio_callbacks.cpp", 753 "src/core/radio/radio_platform.cpp", 754 "src/core/thread/link_quality.cpp", 755 "src/core/utils/parse_cmdline.cpp", 756 "src/core/utils/power_calibration.cpp", 757 ], 758} 759 760cc_library_static { 761 name: "openthread-hdlc", 762 vendor_available: true, 763 defaults: [ 764 "ot_rcp_cflags_defaults", 765 "ot_simulation_cflags_defaults", 766 ], 767 export_include_dirs: [ 768 "include", 769 "src", 770 ], 771 srcs: [ 772 "src/lib/hdlc/hdlc.cpp", 773 ], 774} 775 776cc_library_static { 777 name: "openthread-spi", 778 vendor_available: true, 779 local_include_dirs: [ 780 "include", 781 "src", 782 "src/core", 783 "src/lib/platform", 784 "src/posix/platform", 785 "src/posix/platform/include", 786 ], 787 export_include_dirs: [ 788 "include", 789 "src/core", 790 "src/posix/platform", 791 "src/posix/platform/include", 792 ], 793 794 cflags: [ 795 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=1", 796 ], 797 798 srcs: [ 799 "src/posix/platform/spi_interface.cpp", 800 ], 801} 802 803cc_library_static { 804 name: "openthread-url", 805 vendor_available: true, 806 local_include_dirs: [ 807 "include", 808 "src", 809 "src/core", 810 "src/lib/url", 811 ], 812 export_include_dirs: [ 813 "include", 814 "src", 815 ], 816 srcs: [ 817 "src/lib/url/url.cpp", 818 ], 819} 820 821cc_library_static { 822 name: "openthread-platform", 823 vendor_available: true, 824 local_include_dirs: [ 825 "include", 826 "src", 827 "src/core", 828 "src/lib/platform", 829 ], 830 export_include_dirs: [ 831 "include", 832 "src", 833 ], 834 srcs: [ 835 "src/lib/platform/exit_code.c", 836 ], 837} 838 839cc_library_static { 840 name: "openthread-spinel-rcp", 841 vendor_available: true, 842 843 defaults: [ 844 "ot_rcp_cflags_defaults", 845 "ot_simulation_cflags_defaults", 846 ], 847 848 export_include_dirs: [ 849 "include", 850 "src", 851 ], 852 853 srcs: [ 854 "src/lib/spinel/radio_spinel.cpp", 855 "src/lib/spinel/spinel.c", 856 "src/lib/spinel/spinel_buffer.cpp", 857 "src/lib/spinel/spinel_decoder.cpp", 858 "src/lib/spinel/spinel_encoder.cpp", 859 ], 860} 861 862cc_library_static { 863 name: "openthread-rcp", 864 vendor_available: true, 865 866 defaults: [ 867 "ot_rcp_cflags_defaults", 868 "ot_simulation_cflags_defaults", 869 ], 870 871 srcs: [ 872 "src/ncp/changed_props_set.cpp", 873 "src/ncp/ncp_base.cpp", 874 "src/ncp/ncp_base_dispatcher.cpp", 875 "src/ncp/ncp_base_radio.cpp", 876 "src/ncp/ncp_spi.cpp", 877 "src/ncp/ncp_hdlc.cpp", 878 ], 879} 880 881cc_binary { 882 name: "ot-rcp", 883 vendor: true, 884 defaults: [ 885 "ot_rcp_cflags_defaults", 886 "ot_simulation_cflags_defaults", 887 ], 888 889 srcs: [ 890 "examples/apps/ncp/main.c", 891 "examples/apps/ncp/ncp.c", 892 ], 893 894 static_libs: [ 895 "libbase", 896 "libcutils", 897 "libutils", 898 "openthread-hdlc", 899 "openthread-radio", 900 "openthread-spinel-rcp", 901 "openthread-rcp", 902 "openthread-simulation", 903 "openthread-radio", 904 ], 905 906 stl: "c++_static", 907} 908 909cc_library_static { 910 name: "openthread-posix", 911 vendor_available: true, 912 local_include_dirs: [ 913 "include", 914 "src", 915 "src/core", 916 "src/lib/platform", 917 "src/posix/platform", 918 "src/posix/platform/include", 919 ], 920 export_include_dirs: [ 921 "include", 922 "src/core", 923 "src/posix/platform", 924 "src/posix/platform/include", 925 ], 926 927 cflags: [ 928 "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=1", 929 "-DOPENTHREAD_OSIX_CONFIG_RCP_PTY_ENABLE=1", 930 ], 931 932 cppflags: [ 933 "-Wno-non-virtual-dtor", 934 ], 935 936 srcs: [ 937 "src/posix/platform/alarm.cpp", 938 "src/posix/platform/mainloop.cpp", 939 "src/posix/platform/hdlc_interface.cpp", 940 "src/posix/platform/radio_url.cpp", 941 ], 942} 943 944cc_library_static { 945 name: "openthread-common", 946 vendor_available: true, 947 local_include_dirs: [ 948 "include", 949 "src", 950 "src/core", 951 ], 952 953 export_include_dirs: [ 954 "include", 955 "src/core", 956 ], 957 958 srcs: [ 959 "src/core/common/error.cpp", 960 "src/core/api/error_api.cpp", 961 ], 962} 963 964cc_binary { 965 name: "ot-cli-ftd", 966 defaults: [ 967 "ot_simulation_cflags_defaults", 968 ], 969 970 cflags: [ 971 "-DOPENTHREAD_FTD=1", 972 "-DOPENTHREAD_CONFIG_POSIX_SETTINGS_PATH=\"/data/vendor/threadnetwork/simulation\"", 973 ], 974 975 srcs: [ 976 ":openthread_core_srcs", 977 ":openthread_simulation_srcs", 978 ":openthread_cli_srcs", 979 ":openthread_mbedtls_srcs", 980 "examples/apps/cli/cli_uart.cpp", 981 "examples/apps/cli/main.c", 982 ], 983 984 static_libs: [ 985 "openthread-platform", 986 ], 987 988 shared_libs: [ 989 "libcutils", // Required by src/core/instance_api.cpp 990 ], 991} 992