| // |
| // Copyright (c) 2021, The OpenThread Authors. |
| // All rights reserved. |
| // |
| // Redistribution and use in source and binary forms, with or without |
| // modification, are permitted provided that the following conditions are met: |
| // 1. Redistributions of source code must retain the above copyright |
| // notice, this list of conditions and the following disclaimer. |
| // 2. Redistributions in binary form must reproduce the above copyright |
| // notice, this list of conditions and the following disclaimer in the |
| // documentation and/or other materials provided with the distribution. |
| // 3. Neither the name of the copyright holder nor the |
| // names of its contributors may be used to endorse or promote products |
| // derived from this software without specific prior written permission. |
| // |
| // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
| // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| // POSSIBILITY OF SUCH DAMAGE. |
| // |
| |
| package { |
| default_applicable_licenses: ["external_openthread_license"], |
| } |
| |
| // Added automatically by a large-scale-change that took the approach of |
| // 'apply every license found to every target'. While this makes sure we respect |
| // every license restriction, it may not be entirely correct. |
| // |
| // e.g. GPL in an MIT project might only apply to the contrib/ directory. |
| // |
| // Please consider splitting the single license below into multiple licenses, |
| // taking care not to lose any license_kind information, and overriding the |
| // default license using the 'licenses: [...]' property on targets as needed. |
| // |
| // For unused files, consider creating a 'fileGroup' with "//visibility:private" |
| // to attach the license to, and including a comment whether the files may be |
| // used in the current project. |
| // |
| // large-scale-change included anything that looked like it might be a license |
| // text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. |
| // |
| // Please consider removing redundant or irrelevant files from 'license_text:'. |
| // See: http://go/android-license-faq |
| license { |
| name: "external_openthread_license", |
| visibility: [":__subpackages__"], |
| license_kinds: [ |
| "SPDX-license-identifier-Apache-2.0", |
| "SPDX-license-identifier-BSD", |
| "SPDX-license-identifier-BSD-3-Clause", |
| "SPDX-license-identifier-GPL", |
| "SPDX-license-identifier-GPL-2.0", |
| "SPDX-license-identifier-LGPL", |
| "SPDX-license-identifier-MIT", |
| "legacy_unencumbered", |
| ], |
| license_text: [ |
| "LICENSE", |
| "NOTICE", |
| ], |
| } |
| |
| cc_defaults { |
| name : "ot_posix_cflags_defaults", |
| cflags: [ |
| "-DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\"", |
| "-DOPENTHREAD_CONFIG_FILE=\"src/android/openthread-android-config.h\"", |
| "-DOPENTHREAD_FTD=1", |
| "-DOPENTHREAD_POSIX=1", |
| "-DOPENTHREAD_POSIX_CONFIG_DAEMON_ENABLE=1", |
| "-DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"src/android/openthread-core-android-config.h\"", |
| "-DOPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=1", |
| "-DOPENTHREAD_CONFIG_JOINER_ENABLE=1", |
| "-DPACKAGE=\"openthread\"", |
| "-DPACKAGE_BUGREPORT=\"openthread-devel@googlegroups.com\"", |
| "-DPACKAGE_NAME=\"OPENTHREAD\"", |
| "-DPACKAGE_TARNAME=\"openthread\"", |
| "-DPACKAGE_URL=\"http://github.com/openthread/openthread\"", |
| "-DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\"", |
| "-DOPENTHREAD_POSIX_CONFIG_SPINEL_HDLC_INTERFACE_ENABLE=0", |
| "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=0", |
| "-DOPENTHREAD_POSIX_CONFIG_SPINEL_VENDOR_INTERFACE_ENABLE=1", |
| ], |
| } |
| |
| genrule { |
| name: "ot_version_header", |
| cmd: "$(location src/android/config-android-version-gen.sh) < $(in) > $(out)", |
| srcs: ["src/android/openthread-config-android-version.h.in"], |
| out: ["openthread-config-android-version.h"], |
| tool_files: [ |
| "src/android/config-android-version-gen.sh", |
| ], |
| } |
| |
| soong_config_module_type { |
| name: "ot_config_cc_defaults", |
| module_type: "cc_defaults", |
| config_namespace: "openthread", |
| bool_variables: ["diag"], |
| properties: ["cflags"], |
| } |
| |
| ot_config_cc_defaults { |
| name: "ot_config_defaults", |
| soong_config_variables: { |
| diag: { |
| cflags: ["-DOPENTHREAD_CONFIG_DIAG_ENABLE=1"], |
| }, |
| }, |
| } |
| |
| filegroup { |
| name: "openthread_core_srcs", |
| srcs: [ |
| "src/core/api/backbone_router_api.cpp", |
| "src/core/api/backbone_router_ftd_api.cpp", |
| "src/core/api/border_agent_api.cpp", |
| "src/core/api/border_router_api.cpp", |
| "src/core/api/border_routing_api.cpp", |
| "src/core/api/channel_manager_api.cpp", |
| "src/core/api/channel_monitor_api.cpp", |
| "src/core/api/child_supervision_api.cpp", |
| "src/core/api/coap_api.cpp", |
| "src/core/api/coap_secure_api.cpp", |
| "src/core/api/commissioner_api.cpp", |
| "src/core/api/crypto_api.cpp", |
| "src/core/api/dataset_api.cpp", |
| "src/core/api/dataset_ftd_api.cpp", |
| "src/core/api/dataset_updater_api.cpp", |
| "src/core/api/diags_api.cpp", |
| "src/core/api/dns_api.cpp", |
| "src/core/api/dns_server_api.cpp", |
| "src/core/api/error_api.cpp", |
| "src/core/api/heap_api.cpp", |
| "src/core/api/history_tracker_api.cpp", |
| "src/core/api/icmp6_api.cpp", |
| "src/core/api/instance_api.cpp", |
| "src/core/api/ip6_api.cpp", |
| "src/core/api/jam_detection_api.cpp", |
| "src/core/api/joiner_api.cpp", |
| "src/core/api/link_api.cpp", |
| "src/core/api/link_metrics_api.cpp", |
| "src/core/api/link_raw_api.cpp", |
| "src/core/api/logging_api.cpp", |
| "src/core/api/mesh_diag_api.cpp", |
| "src/core/api/message_api.cpp", |
| "src/core/api/multi_radio_api.cpp", |
| "src/core/api/nat64_api.cpp", |
| "src/core/api/netdata_api.cpp", |
| "src/core/api/netdata_publisher_api.cpp", |
| "src/core/api/netdiag_api.cpp", |
| "src/core/api/network_time_api.cpp", |
| "src/core/api/ping_sender_api.cpp", |
| "src/core/api/radio_stats_api.cpp", |
| "src/core/api/random_crypto_api.cpp", |
| "src/core/api/random_noncrypto_api.cpp", |
| "src/core/api/server_api.cpp", |
| "src/core/api/sntp_api.cpp", |
| "src/core/api/srp_client_api.cpp", |
| "src/core/api/srp_client_buffers_api.cpp", |
| "src/core/api/srp_server_api.cpp", |
| "src/core/api/tasklet_api.cpp", |
| "src/core/api/tcp_api.cpp", |
| "src/core/api/tcp_ext_api.cpp", |
| "src/core/api/thread_api.cpp", |
| "src/core/api/thread_ftd_api.cpp", |
| "src/core/api/trel_api.cpp", |
| "src/core/api/udp_api.cpp", |
| "src/core/backbone_router/backbone_tmf.cpp", |
| "src/core/backbone_router/bbr_leader.cpp", |
| "src/core/backbone_router/bbr_local.cpp", |
| "src/core/backbone_router/bbr_manager.cpp", |
| "src/core/backbone_router/multicast_listeners_table.cpp", |
| "src/core/backbone_router/ndproxy_table.cpp", |
| "src/core/border_router/infra_if.cpp", |
| "src/core/border_router/routing_manager.cpp", |
| "src/core/coap/coap.cpp", |
| "src/core/coap/coap_message.cpp", |
| "src/core/coap/coap_secure.cpp", |
| "src/core/common/appender.cpp", |
| "src/core/common/binary_search.cpp", |
| "src/core/common/crc16.cpp", |
| "src/core/common/data.cpp", |
| "src/core/common/error.cpp", |
| "src/core/common/frame_builder.cpp", |
| "src/core/common/frame_data.cpp", |
| "src/core/common/heap.cpp", |
| "src/core/common/heap_data.cpp", |
| "src/core/common/heap_string.cpp", |
| "src/core/common/log.cpp", |
| "src/core/common/message.cpp", |
| "src/core/common/notifier.cpp", |
| "src/core/common/preference.cpp", |
| "src/core/common/random.cpp", |
| "src/core/common/settings.cpp", |
| "src/core/common/string.cpp", |
| "src/core/common/tasklet.cpp", |
| "src/core/common/time_ticker.cpp", |
| "src/core/common/timer.cpp", |
| "src/core/common/tlvs.cpp", |
| "src/core/common/trickle_timer.cpp", |
| "src/core/common/uptime.cpp", |
| "src/core/crypto/aes_ccm.cpp", |
| "src/core/crypto/aes_ecb.cpp", |
| "src/core/crypto/crypto_platform.cpp", |
| "src/core/crypto/hkdf_sha256.cpp", |
| "src/core/crypto/hmac_sha256.cpp", |
| "src/core/crypto/mbedtls.cpp", |
| "src/core/crypto/sha256.cpp", |
| "src/core/crypto/storage.cpp", |
| "src/core/diags/factory_diags.cpp", |
| "src/core/instance/instance.cpp", |
| "src/core/mac/channel_mask.cpp", |
| "src/core/mac/data_poll_handler.cpp", |
| "src/core/mac/data_poll_sender.cpp", |
| "src/core/mac/link_raw.cpp", |
| "src/core/mac/mac.cpp", |
| "src/core/mac/mac_filter.cpp", |
| "src/core/mac/mac_frame.cpp", |
| "src/core/mac/mac_links.cpp", |
| "src/core/mac/mac_types.cpp", |
| "src/core/mac/sub_mac.cpp", |
| "src/core/mac/sub_mac_callbacks.cpp", |
| "src/core/meshcop/announce_begin_client.cpp", |
| "src/core/meshcop/border_agent.cpp", |
| "src/core/meshcop/commissioner.cpp", |
| "src/core/meshcop/dataset.cpp", |
| "src/core/meshcop/dataset_local.cpp", |
| "src/core/meshcop/dataset_manager.cpp", |
| "src/core/meshcop/dataset_manager_ftd.cpp", |
| "src/core/meshcop/dataset_updater.cpp", |
| "src/core/meshcop/dtls.cpp", |
| "src/core/meshcop/energy_scan_client.cpp", |
| "src/core/meshcop/extended_panid.cpp", |
| "src/core/meshcop/joiner.cpp", |
| "src/core/meshcop/joiner_router.cpp", |
| "src/core/meshcop/meshcop.cpp", |
| "src/core/meshcop/meshcop_leader.cpp", |
| "src/core/meshcop/meshcop_tlvs.cpp", |
| "src/core/meshcop/network_name.cpp", |
| "src/core/meshcop/panid_query_client.cpp", |
| "src/core/meshcop/timestamp.cpp", |
| "src/core/net/checksum.cpp", |
| "src/core/net/dhcp6_client.cpp", |
| "src/core/net/dhcp6_server.cpp", |
| "src/core/net/dns_client.cpp", |
| "src/core/net/dns_dso.cpp", |
| "src/core/net/dns_platform.cpp", |
| "src/core/net/dns_types.cpp", |
| "src/core/net/dnssd_server.cpp", |
| "src/core/net/icmp6.cpp", |
| "src/core/net/ip4_types.cpp", |
| "src/core/net/ip6.cpp", |
| "src/core/net/ip6_address.cpp", |
| "src/core/net/ip6_filter.cpp", |
| "src/core/net/ip6_headers.cpp", |
| "src/core/net/ip6_mpl.cpp", |
| "src/core/net/nat64_translator.cpp", |
| "src/core/net/nd6.cpp", |
| "src/core/net/nd_agent.cpp", |
| "src/core/net/netif.cpp", |
| "src/core/net/sntp_client.cpp", |
| "src/core/net/socket.cpp", |
| "src/core/net/srp_client.cpp", |
| "src/core/net/srp_server.cpp", |
| "src/core/net/tcp6.cpp", |
| "src/core/net/tcp6_ext.cpp", |
| "src/core/net/udp6.cpp", |
| "src/core/radio/radio.cpp", |
| "src/core/radio/radio_callbacks.cpp", |
| "src/core/radio/radio_platform.cpp", |
| "src/core/radio/trel_interface.cpp", |
| "src/core/radio/trel_link.cpp", |
| "src/core/radio/trel_packet.cpp", |
| "src/core/thread/address_resolver.cpp", |
| "src/core/thread/announce_begin_server.cpp", |
| "src/core/thread/announce_sender.cpp", |
| "src/core/thread/anycast_locator.cpp", |
| "src/core/thread/child.cpp", |
| "src/core/thread/child_supervision.cpp", |
| "src/core/thread/child_table.cpp", |
| "src/core/thread/csl_tx_scheduler.cpp", |
| "src/core/thread/discover_scanner.cpp", |
| "src/core/thread/dua_manager.cpp", |
| "src/core/thread/energy_scan_server.cpp", |
| "src/core/thread/indirect_sender.cpp", |
| "src/core/thread/key_manager.cpp", |
| "src/core/thread/link_metrics.cpp", |
| "src/core/thread/link_metrics_types.cpp", |
| "src/core/thread/link_quality.cpp", |
| "src/core/thread/lowpan.cpp", |
| "src/core/thread/mesh_forwarder.cpp", |
| "src/core/thread/mesh_forwarder_ftd.cpp", |
| "src/core/thread/mesh_forwarder_mtd.cpp", |
| "src/core/thread/mle.cpp", |
| "src/core/thread/mle_router.cpp", |
| "src/core/thread/mle_tlvs.cpp", |
| "src/core/thread/mle_types.cpp", |
| "src/core/thread/mlr_manager.cpp", |
| "src/core/thread/neighbor.cpp", |
| "src/core/thread/neighbor_table.cpp", |
| "src/core/thread/network_data.cpp", |
| "src/core/thread/network_data_leader.cpp", |
| "src/core/thread/network_data_leader_ftd.cpp", |
| "src/core/thread/network_data_local.cpp", |
| "src/core/thread/network_data_notifier.cpp", |
| "src/core/thread/network_data_publisher.cpp", |
| "src/core/thread/network_data_service.cpp", |
| "src/core/thread/network_data_tlvs.cpp", |
| "src/core/thread/network_data_types.cpp", |
| "src/core/thread/network_diagnostic.cpp", |
| "src/core/thread/network_diagnostic_tlvs.cpp", |
| "src/core/thread/panid_query_server.cpp", |
| "src/core/thread/radio_selector.cpp", |
| "src/core/thread/router.cpp", |
| "src/core/thread/router_table.cpp", |
| "src/core/thread/src_match_controller.cpp", |
| "src/core/thread/thread_netif.cpp", |
| "src/core/thread/time_sync_service.cpp", |
| "src/core/thread/tmf.cpp", |
| "src/core/thread/uri_paths.cpp", |
| "src/core/utils/channel_manager.cpp", |
| "src/core/utils/channel_monitor.cpp", |
| "src/core/utils/flash.cpp", |
| "src/core/utils/heap.cpp", |
| "src/core/utils/history_tracker.cpp", |
| "src/core/utils/jam_detector.cpp", |
| "src/core/utils/mesh_diag.cpp", |
| "src/core/utils/otns.cpp", |
| "src/core/utils/parse_cmdline.cpp", |
| "src/core/utils/ping_sender.cpp", |
| "src/core/utils/power_calibration.cpp", |
| "src/core/utils/slaac_address.cpp", |
| "src/core/utils/srp_client_buffers.cpp", |
| ], |
| } |
| |
| filegroup { |
| name: "openthread_cli_srcs", |
| srcs: [ |
| "src/cli/cli.cpp", |
| "src/cli/cli_bbr.cpp", |
| "src/cli/cli_br.cpp", |
| "src/cli/cli_coap.cpp", |
| "src/cli/cli_coap_secure.cpp", |
| "src/cli/cli_commissioner.cpp", |
| "src/cli/cli_dataset.cpp", |
| "src/cli/cli_dns.cpp", |
| "src/cli/cli_history.cpp", |
| "src/cli/cli_joiner.cpp", |
| "src/cli/cli_mac_filter.cpp", |
| "src/cli/cli_network_data.cpp", |
| "src/cli/cli_output.cpp", |
| "src/cli/cli_srp_client.cpp", |
| "src/cli/cli_srp_server.cpp", |
| "src/cli/cli_tcp.cpp", |
| "src/cli/cli_udp.cpp", |
| ], |
| } |
| |
| filegroup { |
| name: "openthread_ncp_srcs", |
| srcs: [ |
| "src/ncp/changed_props_set.cpp", |
| "src/ncp/ncp_base.cpp", |
| "src/ncp/ncp_base_dispatcher.cpp", |
| "src/ncp/ncp_base_radio.cpp", |
| "src/ncp/ncp_spi.cpp", |
| "src/ncp/ncp_hdlc.cpp", |
| ], |
| } |
| |
| filegroup { |
| name: "openthread_simulation_srcs", |
| srcs: [ |
| "examples/platforms/simulation/alarm.c", |
| "examples/platforms/simulation/crypto.c", |
| "examples/platforms/simulation/diag.c", |
| "examples/platforms/simulation/entropy.c", |
| "examples/platforms/simulation/flash.c", |
| "examples/platforms/simulation/infra_if.c", |
| "examples/platforms/simulation/logging.c", |
| "examples/platforms/simulation/misc.c", |
| "examples/platforms/simulation/radio.c", |
| "examples/platforms/simulation/spi-stubs.c", |
| "examples/platforms/simulation/system.c", |
| "examples/platforms/simulation/trel.c", |
| "examples/platforms/simulation/uart.c", |
| "examples/platforms/utils/link_metrics.cpp", |
| "examples/platforms/utils/mac_frame.cpp", |
| "examples/platforms/utils/settings_ram.c", |
| "examples/platforms/utils/soft_source_match_table.c", |
| ], |
| } |
| |
| filegroup { |
| name: "openthread_mbedtls_srcs", |
| srcs: [ |
| "third_party/mbedtls/repo/library/aes.c", |
| "third_party/mbedtls/repo/library/asn1parse.c", |
| "third_party/mbedtls/repo/library/asn1write.c", |
| "third_party/mbedtls/repo/library/base64.c", |
| "third_party/mbedtls/repo/library/bignum.c", |
| "third_party/mbedtls/repo/library/ccm.c", |
| "third_party/mbedtls/repo/library/cipher.c", |
| "third_party/mbedtls/repo/library/cipher_wrap.c", |
| "third_party/mbedtls/repo/library/cmac.c", |
| "third_party/mbedtls/repo/library/constant_time.c", |
| "third_party/mbedtls/repo/library/ctr_drbg.c", |
| "third_party/mbedtls/repo/library/debug.c", |
| "third_party/mbedtls/repo/library/ecdh.c", |
| "third_party/mbedtls/repo/library/ecdsa.c", |
| "third_party/mbedtls/repo/library/ecjpake.c", |
| "third_party/mbedtls/repo/library/ecp.c", |
| "third_party/mbedtls/repo/library/ecp_curves.c", |
| "third_party/mbedtls/repo/library/entropy.c", |
| "third_party/mbedtls/repo/library/entropy_poll.c", |
| "third_party/mbedtls/repo/library/hmac_drbg.c", |
| "third_party/mbedtls/repo/library/md.c", |
| "third_party/mbedtls/repo/library/memory_buffer_alloc.c", |
| "third_party/mbedtls/repo/library/oid.c", |
| "third_party/mbedtls/repo/library/pem.c", |
| "third_party/mbedtls/repo/library/pk.c", |
| "third_party/mbedtls/repo/library/pk_wrap.c", |
| "third_party/mbedtls/repo/library/pkparse.c", |
| "third_party/mbedtls/repo/library/pkwrite.c", |
| "third_party/mbedtls/repo/library/platform.c", |
| "third_party/mbedtls/repo/library/platform_util.c", |
| "third_party/mbedtls/repo/library/sha256.c", |
| "third_party/mbedtls/repo/library/ssl_ciphersuites.c", |
| "third_party/mbedtls/repo/library/ssl_cli.c", |
| "third_party/mbedtls/repo/library/ssl_cookie.c", |
| "third_party/mbedtls/repo/library/ssl_msg.c", |
| "third_party/mbedtls/repo/library/ssl_srv.c", |
| "third_party/mbedtls/repo/library/ssl_ticket.c", |
| "third_party/mbedtls/repo/library/ssl_tls.c", |
| "third_party/mbedtls/repo/library/threading.c", |
| "third_party/mbedtls/repo/library/x509.c", |
| "third_party/mbedtls/repo/library/x509_crt.c", |
| ], |
| } |
| |
| filegroup { |
| name: "openthread_platform_posix_srcs", |
| srcs: [ |
| "src/posix/platform/alarm.cpp", |
| "src/posix/platform/backtrace.cpp", |
| "src/posix/platform/configuration.cpp", |
| "src/posix/platform/config_file.cpp", |
| "src/posix/platform/daemon.cpp", |
| "src/posix/platform/entropy.cpp", |
| "src/posix/platform/firewall.cpp", |
| "src/posix/platform/hdlc_interface.cpp", |
| "src/posix/platform/infra_if.cpp", |
| "src/posix/platform/logging.cpp", |
| "src/posix/platform/mainloop.cpp", |
| "src/posix/platform/memory.cpp", |
| "src/posix/platform/misc.cpp", |
| "src/posix/platform/multicast_routing.cpp", |
| "src/posix/platform/netif.cpp", |
| "src/posix/platform/power.cpp", |
| "src/posix/platform/radio.cpp", |
| "src/posix/platform/radio_url.cpp", |
| "src/posix/platform/resolver.cpp", |
| "src/posix/platform/settings.cpp", |
| "src/posix/platform/spi_interface.cpp", |
| "src/posix/platform/system.cpp", |
| "src/posix/platform/trel.cpp", |
| "src/posix/platform/udp.cpp", |
| "src/posix/platform/utils.cpp", |
| ], |
| } |
| |
| cc_library_static { |
| name: "ot-core", |
| apex_available: [ "com.android.tethering" ], |
| min_sdk_version: "30", |
| defaults: [ |
| "ot_config_defaults", |
| "ot-daemon-debuggable-cc-defaults", |
| "ot_posix_cflags_defaults", |
| ], |
| generated_headers: ["ot_version_header"], |
| |
| local_include_dirs: [ |
| "include", |
| "src", |
| "src/android/thread_network_hal", |
| "src/cli", |
| "src/core", |
| "src/ncp", |
| "src/posix/platform", |
| "src/posix/platform/include", |
| "third_party", |
| "third_party/mbedtls", |
| "third_party/mbedtls/repo/include", |
| ], |
| |
| export_include_dirs: [ |
| "include", |
| "src", |
| ], |
| |
| cppflags: [ |
| "-pedantic-errors", |
| "-Wno-non-virtual-dtor", |
| // Background: the HAL client implementation requires features which |
| // are available on only 31+, but the Tethering module requires the |
| // ot-daemon binary to support 30+. |
| // It's safe to suppress this warning because ot-daemon will never |
| // run below Android U (34). |
| "-Wno-unguarded-availability", |
| ], |
| |
| vintf_fragments: ["src/android/thread_network_hal/device_manifest.xml"], |
| shared_libs: [ |
| "libbase", |
| "libcutils", |
| "libutils", |
| "libbinder_ndk", |
| "android.hardware.threadnetwork-V1-ndk", |
| ], |
| |
| srcs: [ |
| ":openthread_core_srcs", |
| ":openthread_mbedtls_srcs", |
| ":openthread_platform_posix_srcs", |
| "src/android/thread_network_hal/hal_interface.cpp", |
| "src/android/thread_network_hal/vendor_interface.cpp", |
| "src/lib/hdlc/hdlc.cpp", |
| "src/lib/platform/exit_code.c", |
| "src/lib/spinel/radio_spinel.cpp", |
| "src/lib/spinel/spinel.c", |
| "src/lib/spinel/spinel_buffer.cpp", |
| "src/lib/spinel/spinel_decoder.cpp", |
| "src/lib/spinel/spinel_encoder.cpp", |
| "src/lib/url/url.cpp", |
| ], |
| } |
| |
| cc_library_static { |
| name: "libopenthread-cli", |
| apex_available: [ "com.android.tethering" ], |
| min_sdk_version: "30", |
| defaults: [ |
| "ot_config_defaults", |
| "ot-daemon-debuggable-cc-defaults", |
| "ot_posix_cflags_defaults", |
| ], |
| generated_headers: ["ot_version_header"], |
| |
| local_include_dirs: [ |
| "include", |
| "src", |
| "src/cli", |
| "src/core", |
| "src/posix/platform", |
| "src/posix/platform/include", |
| "third_party/mbedtls", |
| "third_party/mbedtls/repo/include", |
| ], |
| |
| cflags: [ |
| "-DOPENTHREAD_CONFIG_CLI_UART_TX_BUFFER_SIZE=3500", |
| "-DOPENTHREAD_CONFIG_CLI_UART_RX_BUFFER_SIZE=3500", |
| "-DOPENTHREAD_CONFIG_UART_CLI_RAW=1", |
| ], |
| |
| cppflags: [ |
| "-std=c++11", |
| "-pedantic-errors", |
| ], |
| |
| srcs: [ |
| "src/cli/cli.cpp", |
| "src/cli/cli_bbr.cpp", |
| "src/cli/cli_br.cpp", |
| "src/cli/cli_coap.cpp", |
| "src/cli/cli_coap_secure.cpp", |
| "src/cli/cli_commissioner.cpp", |
| "src/cli/cli_dataset.cpp", |
| "src/cli/cli_dns.cpp", |
| "src/cli/cli_history.cpp", |
| "src/cli/cli_joiner.cpp", |
| "src/cli/cli_mac_filter.cpp", |
| "src/cli/cli_network_data.cpp", |
| "src/cli/cli_output.cpp", |
| "src/cli/cli_srp_client.cpp", |
| "src/cli/cli_srp_server.cpp", |
| "src/cli/cli_tcp.cpp", |
| "src/cli/cli_udp.cpp", |
| ], |
| } |
| |
| cc_binary { |
| name: "ot-ctl", |
| defaults: ["ot_posix_cflags_defaults"], |
| generated_headers: ["ot_version_header"], |
| |
| cppflags: [ |
| "-pedantic-errors", |
| ], |
| |
| local_include_dirs: [ |
| "include", |
| "src/", |
| "src/core", |
| "src/posix/platform", |
| "src/posix/platform/include", |
| ], |
| |
| srcs: ["src/posix/client.cpp"], |
| } |
| |
| cc_defaults { |
| name: "ot_rcp_cflags_defaults", |
| cflags: [ |
| "-DOPENTHREAD_RADIO=1", |
| ], |
| } |
| |
| cc_defaults { |
| name : "ot_simulation_cflags_defaults", |
| |
| local_include_dirs: [ |
| "examples/platforms/simulation", |
| "examples/platforms", |
| "include", |
| "src", |
| "src/cli", |
| "src/core", |
| "src/ncp", |
| "src/lib/hdlc", |
| "third_party", |
| "third_party/mbedtls", |
| "third_party/mbedtls/repo/include", |
| ], |
| |
| export_include_dirs: [ |
| "include", |
| "src", |
| ], |
| |
| cflags: [ |
| "-DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\"", |
| "-DOPENTHREAD_CONFIG_ANDROID_VERSION_HEADER_ENABLE=1", |
| "-DOPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1", |
| "-DOPENTHREAD_CONFIG_ECDSA_ENABLE=1", |
| "-DOPENTHREAD_CONFIG_FILE=\"openthread-config-android-version.h\"", |
| "-DOPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1", |
| "-DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1", |
| "-DOPENTHREAD_CONFIG_MLR_ENABLE=1", |
| "-DOPENTHREAD_CONFIG_NCP_HDLC_ENABLE=1", |
| "-DOPENTHREAD_CONFIG_PING_SENDER_ENABLE=1", |
| "-DOPENTHREAD_CONFIG_SRP_CLIENT_ENABLE=1", |
| "-DOPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE=0", |
| "-DOPENTHREAD_EXAMPLES_SIMULATION=1", |
| "-DOPENTHREAD_CONFIG_TCP_ENABLE=0", |
| "-DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"examples/platforms/simulation/openthread-core-simulation-config.h\"", |
| "-DOPENTHREAD_SETTINGS_RAM=1", |
| "-DPACKAGE=\"openthread\"", |
| "-DPACKAGE_BUGREPORT=\"openthread-devel@googlegroups.com\"", |
| "-DPACKAGE_NAME=\"OPENTHREAD\"", |
| "-DPACKAGE_TARNAME=\"openthread\"", |
| "-DPACKAGE_URL=\"http://github.com/openthread/openthread\"", |
| "-DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\"", |
| "-Wno-implicit-fallthrough", |
| ], |
| } |
| |
| cc_library_static { |
| name: "openthread-simulation", |
| vendor_available: true, |
| |
| defaults: [ |
| "ot_rcp_cflags_defaults", |
| "ot_simulation_cflags_defaults", |
| ], |
| |
| srcs: [ |
| ":openthread_simulation_srcs", |
| "src/lib/platform/exit_code.c", |
| "third_party/mbedtls/repo/library/aes.c", |
| "third_party/mbedtls/repo/library/asn1parse.c", |
| "third_party/mbedtls/repo/library/asn1write.c", |
| "third_party/mbedtls/repo/library/base64.c", |
| "third_party/mbedtls/repo/library/bignum.c", |
| "third_party/mbedtls/repo/library/ccm.c", |
| "third_party/mbedtls/repo/library/cipher.c", |
| "third_party/mbedtls/repo/library/cipher_wrap.c", |
| "third_party/mbedtls/repo/library/cmac.c", |
| "third_party/mbedtls/repo/library/ctr_drbg.c", |
| "third_party/mbedtls/repo/library/debug.c", |
| "third_party/mbedtls/repo/library/entropy.c", |
| "third_party/mbedtls/repo/library/entropy_poll.c", |
| "third_party/mbedtls/repo/library/hmac_drbg.c", |
| "third_party/mbedtls/repo/library/md.c", |
| "third_party/mbedtls/repo/library/memory_buffer_alloc.c", |
| "third_party/mbedtls/repo/library/oid.c", |
| "third_party/mbedtls/repo/library/platform.c", |
| "third_party/mbedtls/repo/library/platform_util.c", |
| "third_party/mbedtls/repo/library/sha256.c", |
| ], |
| |
| cflags: [ |
| "-D_BSD_SOURCE=1", |
| "-D_DEFAULT_SOURCE=1", |
| ], |
| } |
| |
| cc_library_static { |
| name: "openthread-radio", |
| vendor_available: true, |
| |
| defaults: [ |
| "ot_rcp_cflags_defaults", |
| "ot_simulation_cflags_defaults", |
| ], |
| |
| generated_headers: ["ot_version_header"], |
| shared_libs: [ |
| "libcutils", |
| ], |
| |
| srcs: [ |
| "src/core/api/diags_api.cpp", |
| "src/core/api/error_api.cpp", |
| "src/core/api/instance_api.cpp", |
| "src/core/api/link_raw_api.cpp", |
| "src/core/api/logging_api.cpp", |
| "src/core/api/random_noncrypto_api.cpp", |
| "src/core/api/tasklet_api.cpp", |
| "src/core/common/binary_search.cpp", |
| "src/core/common/error.cpp", |
| "src/core/common/frame_builder.cpp", |
| "src/core/common/log.cpp", |
| "src/core/common/random.cpp", |
| "src/core/common/string.cpp", |
| "src/core/common/tasklet.cpp", |
| "src/core/common/timer.cpp", |
| "src/core/common/uptime.cpp", |
| "src/core/crypto/aes_ccm.cpp", |
| "src/core/crypto/aes_ecb.cpp", |
| "src/core/crypto/crypto_platform.cpp", |
| "src/core/crypto/storage.cpp", |
| "src/core/diags/factory_diags.cpp", |
| "src/core/instance/instance.cpp", |
| "src/core/mac/link_raw.cpp", |
| "src/core/mac/mac_frame.cpp", |
| "src/core/mac/mac_types.cpp", |
| "src/core/mac/sub_mac.cpp", |
| "src/core/mac/sub_mac_callbacks.cpp", |
| "src/core/radio/radio.cpp", |
| "src/core/radio/radio_callbacks.cpp", |
| "src/core/radio/radio_platform.cpp", |
| "src/core/thread/link_quality.cpp", |
| "src/core/utils/parse_cmdline.cpp", |
| "src/core/utils/power_calibration.cpp", |
| ], |
| } |
| |
| cc_library_static { |
| name: "openthread-hdlc", |
| vendor_available: true, |
| defaults: [ |
| "ot_rcp_cflags_defaults", |
| "ot_simulation_cflags_defaults", |
| ], |
| export_include_dirs: [ |
| "include", |
| "src", |
| ], |
| srcs: [ |
| "src/lib/hdlc/hdlc.cpp", |
| ], |
| } |
| |
| cc_library_static { |
| name: "openthread-spi", |
| vendor_available: true, |
| local_include_dirs: [ |
| "include", |
| "src", |
| "src/core", |
| "src/lib/platform", |
| "src/posix/platform", |
| "src/posix/platform/include", |
| ], |
| export_include_dirs: [ |
| "include", |
| "src/core", |
| "src/posix/platform", |
| "src/posix/platform/include", |
| ], |
| |
| cflags: [ |
| "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=1", |
| ], |
| |
| srcs: [ |
| "src/posix/platform/spi_interface.cpp", |
| ], |
| } |
| |
| cc_library_static { |
| name: "openthread-url", |
| vendor_available: true, |
| local_include_dirs: [ |
| "include", |
| "src", |
| "src/core", |
| "src/lib/url", |
| ], |
| export_include_dirs: [ |
| "include", |
| "src", |
| ], |
| srcs: [ |
| "src/lib/url/url.cpp", |
| ], |
| } |
| |
| cc_library_static { |
| name: "openthread-platform", |
| vendor_available: true, |
| local_include_dirs: [ |
| "include", |
| "src", |
| "src/core", |
| "src/lib/platform", |
| ], |
| export_include_dirs: [ |
| "include", |
| "src", |
| ], |
| srcs: [ |
| "src/lib/platform/exit_code.c", |
| ], |
| } |
| |
| |
| cc_library_static { |
| name: "openthread-spinel-rcp", |
| vendor_available: true, |
| |
| defaults: [ |
| "ot_rcp_cflags_defaults", |
| "ot_simulation_cflags_defaults", |
| ], |
| |
| export_include_dirs: [ |
| "include", |
| "src", |
| ], |
| |
| srcs: [ |
| "src/lib/spinel/radio_spinel.cpp", |
| "src/lib/spinel/spinel.c", |
| "src/lib/spinel/spinel_buffer.cpp", |
| "src/lib/spinel/spinel_decoder.cpp", |
| "src/lib/spinel/spinel_encoder.cpp", |
| ], |
| } |
| |
| cc_library_static { |
| name: "openthread-rcp", |
| vendor_available: true, |
| |
| defaults: [ |
| "ot_rcp_cflags_defaults", |
| "ot_simulation_cflags_defaults", |
| ], |
| |
| srcs: [ |
| "src/ncp/changed_props_set.cpp", |
| "src/ncp/ncp_base.cpp", |
| "src/ncp/ncp_base_dispatcher.cpp", |
| "src/ncp/ncp_base_radio.cpp", |
| "src/ncp/ncp_spi.cpp", |
| "src/ncp/ncp_hdlc.cpp", |
| ], |
| } |
| |
| cc_binary { |
| name: "ot-rcp", |
| vendor: true, |
| defaults: [ |
| "ot_rcp_cflags_defaults", |
| "ot_simulation_cflags_defaults", |
| ], |
| |
| srcs: [ |
| "examples/apps/ncp/main.c", |
| "examples/apps/ncp/ncp.c", |
| ], |
| |
| static_libs: [ |
| "libbase", |
| "libcutils", |
| "libutils", |
| "openthread-hdlc", |
| "openthread-radio", |
| "openthread-spinel-rcp", |
| "openthread-rcp", |
| "openthread-simulation", |
| "openthread-radio", |
| ], |
| |
| stl: "c++_static", |
| } |
| |
| cc_library_static { |
| name: "openthread-posix", |
| vendor_available: true, |
| local_include_dirs: [ |
| "include", |
| "src", |
| "src/core", |
| "src/lib/platform", |
| "src/posix/platform", |
| "src/posix/platform/include", |
| ], |
| export_include_dirs: [ |
| "include", |
| "src/core", |
| "src/posix/platform", |
| "src/posix/platform/include", |
| ], |
| |
| cflags: [ |
| "-DOPENTHREAD_POSIX_CONFIG_SPINEL_SPI_INTERFACE_ENABLE=1", |
| "-DOPENTHREAD_OSIX_CONFIG_RCP_PTY_ENABLE=1", |
| ], |
| |
| cppflags: [ |
| "-Wno-non-virtual-dtor", |
| ], |
| |
| srcs: [ |
| "src/posix/platform/alarm.cpp", |
| "src/posix/platform/mainloop.cpp", |
| "src/posix/platform/hdlc_interface.cpp", |
| ], |
| } |
| |
| cc_library_static { |
| name: "openthread-common", |
| vendor_available: true, |
| local_include_dirs: [ |
| "include", |
| "src", |
| "src/core", |
| ], |
| |
| export_include_dirs: [ |
| "include", |
| "src/core", |
| ], |
| |
| srcs: [ |
| "src/core/common/error.cpp", |
| "src/core/api/error_api.cpp", |
| ], |
| } |
| |
| cc_binary { |
| name: "ot-cli-ftd", |
| defaults: [ |
| "ot_simulation_cflags_defaults", |
| ], |
| |
| cflags: [ |
| "-DOPENTHREAD_FTD=1", |
| "-DOPENTHREAD_CONFIG_POSIX_SETTINGS_PATH=\"/data/vendor/threadnetwork/simulation\"", |
| ], |
| |
| srcs: [ |
| ":openthread_core_srcs", |
| ":openthread_simulation_srcs", |
| ":openthread_cli_srcs", |
| ":openthread_mbedtls_srcs", |
| "examples/apps/cli/cli_uart.cpp", |
| "examples/apps/cli/main.c", |
| ], |
| |
| static_libs: [ |
| "openthread-platform", |
| ], |
| |
| shared_libs: [ |
| "libcutils", // Required by src/core/instance_api.cpp |
| ], |
| } |