blob: d28437a2a8a97490dcd2f68db04a0e4527f546b7 [file] [log] [blame]
//
// 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\"",
],
apex_available: [ "com.android.threadnetwork" ],
min_sdk_version: "33",
}
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"]
},
uart: {
cflags: [
"-DOPENTHREAD_POSIX_CONFIG_RCP_BUS=OT_POSIX_RCP_BUS_UART",
"-DOPENTHREAD_POSIX_CONFIG_RCP_PTY_ENABLE=1",
]
},
conditions_default: {
cflags: [
"-DOPENTHREAD_POSIX_CONFIG_RCP_BUS=OT_POSIX_RCP_BUS_VENDOR",
]
},
},
},
apex_available: [ "com.android.threadnetwork" ],
min_sdk_version: "33",
}
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",
],
vintf_fragments: ["src/android/thread_network_hal/device_manifest.xml"],
shared_libs: [
"libbase",
"libcutils",
"libutils",
"libbinder_ndk",
"android.hardware.threadnetwork-V1-ndk",
],
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/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/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/instance.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/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_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_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/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",
"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/backtrace.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/power_updater.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",
"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",
],
apex_available: [ "com.android.threadnetwork" ],
min_sdk_version: "33",
}
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_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_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_available: 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_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/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",
"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_RCP_BUS=OT_POSIX_RCP_BUS_SPI",
],
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/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: [
"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_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_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_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",
],
}