// // 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\"", ], } 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"], variables: ["rcp_bus"], properties: ["cflags"], } soong_config_string_variable { name: "rcp_bus", values: ["spi", "uart", "hal"], } ot_config_cc_defaults { name: "ot_config_defaults", soong_config_variables: { diag: { cflags: ["-DOPENTHREAD_CONFIG_DIAG_ENABLE=1"], }, rcp_bus: { spi: { cflags: ["-DOPENTHREAD_POSIX_CONFIG_RCP_BUS=OT_POSIX_RCP_BUS_SPI"] }, hal: { cflags: [ "-DOPENTHREAD_POSIX_CONFIG_RCP_BUS=OT_POSIX_RCP_BUS_VENDOR", ] }, conditions_default: { cflags: [ "-DOPENTHREAD_POSIX_CONFIG_RCP_BUS=OT_POSIX_RCP_BUS_UART", "-DOPENTHREAD_POSIX_CONFIG_RCP_PTY_ENABLE=1", ] }, }, }, } cc_library_static { name: "ot-core", defaults: ["ot_posix_cflags_defaults", "ot_config_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", ], shared_libs: [ "libbase", "libcutils", "libutils", ], srcs: [ "src/android/thread_network_hal/hal_interface.cpp", "src/android/thread_network_hal/vendor_interface.cpp", "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/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/message_api.cpp", "src/core/api/multi_radio_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/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/thread_api.cpp", "src/core/api/thread_ftd_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/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/instance.cpp", "src/core/common/log.cpp", "src/core/common/message.cpp", "src/core/common/notifier.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/crypto/aes_ccm.cpp", "src/core/crypto/aes_ecb.cpp", "src/core/crypto/crypto_platform.cpp", "src/core/crypto/ecdsa.cpp", "src/core/crypto/hkdf_sha256.cpp", "src/core/crypto/hmac_sha256.cpp", "src/core/crypto/mbedtls.cpp", "src/core/crypto/pbkdf2_cmac.cpp", "src/core/crypto/sha256.cpp", "src/core/crypto/storage.cpp", "src/core/diags/factory_diags.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_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/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/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/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_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_types.cpp", "src/core/thread/mlr_manager.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/panid_query_server.cpp", "src/core/thread/radio_selector.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/topology.cpp", "src/core/thread/uri_paths.cpp", "src/core/utils/channel_manager.cpp", "src/core/utils/channel_monitor.cpp", "src/core/utils/child_supervision.cpp", "src/core/utils/flash.cpp", "src/core/utils/heap.cpp", "src/core/utils/jam_detector.cpp", "src/core/utils/otns.cpp", "src/core/utils/parse_cmdline.cpp", "src/core/utils/ping_sender.cpp", "src/core/utils/slaac_address.cpp", "src/core/utils/srp_client_buffers.cpp", "src/lib/hdlc/hdlc.cpp", "src/lib/platform/exit_code.c", "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", "src/posix/platform/alarm.cpp", "src/posix/platform/backbone.cpp", "src/posix/platform/daemon.cpp", "src/posix/platform/entropy.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/radio.cpp", "src/posix/platform/radio_url.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", "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", ], } cc_library_static { name: "openthread-tcplp", local_include_dirs: [ "include", ], cflags: [ "-Wno-sign-compare", "-Wno-conversion", "-Wno-unused-parameter", ], srcs: [ "third_party/tcplp/bsdtcp/cc/cc_newreno.c", "third_party/tcplp/bsdtcp/tcp_input.c", "third_party/tcplp/bsdtcp/tcp_output.c", "third_party/tcplp/bsdtcp/tcp_reass.c", "third_party/tcplp/bsdtcp/tcp_sack.c", "third_party/tcplp/bsdtcp/tcp_subr.c", "third_party/tcplp/bsdtcp/tcp_timer.c", "third_party/tcplp/bsdtcp/tcp_timewait.c", "third_party/tcplp/bsdtcp/tcp_usrreq.c", "third_party/tcplp/lib/bitmap.c", "third_party/tcplp/lib/cbuf.c", "third_party/tcplp/lib/lbuf.c", ], } cc_library_static { name: "libopenthread-cli", defaults: ["ot_posix_cflags_defaults", "ot_config_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_coap.cpp", "src/cli/cli_coap_secure.cpp", "src/cli/cli_commissioner.cpp", "src/cli/cli_dataset.cpp", "src/cli/cli_history.cpp", "src/cli/cli_joiner.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_FILE=\"openthread-config-android-version.h\"", "-DOPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1", "-DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1", "-DOPENTHREAD_CONFIG_NCP_HDLC_ENABLE=1", "-DOPENTHREAD_EXAMPLES_SIMULATION=1", "-DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"examples/platforms/simulation/openthread-core-simulation-config.h\"", "-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\"", ], } cc_library_static { name: "openthread-simulation", vendor: true, defaults: [ "ot_rcp_cflags_defaults", "ot_simulation_cflags_defaults", ], 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/soft_source_match_table.c", "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: 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/instance.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/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", ], } cc_library_static { name: "openthread-hdlc", vendor: 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-url", vendor: 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: 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: true, defaults: [ "ot_rcp_cflags_defaults", "ot_simulation_cflags_defaults", ], export_include_dirs: [ "include", "src", ], srcs: [ "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: 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: [ "openthread-hdlc", "openthread-radio", "openthread-spinel-rcp", "openthread-rcp", "openthread-simulation", "openthread-radio", ], shared_libs: [ "libbase", "libcutils", "libutils", ], } cc_library_static { name: "openthread-posix", vendor: 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_RCP_BUS=OT_POSIX_RCP_BUS_UART", "-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: 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", ], }