blob: 68e6ecb5e477689db1b1126471acbe4675aa8ebc [file] [log] [blame]
# Copyright (c) 2020, 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.
#
_openthread_config_file = ""
if (current_os == "fuchsia") {
_openthread_config_file = "<openthread-config-fuchsia.h>"
}
declare_args() {
# OpenThread config header.
openthread_config_file = _openthread_config_file
# Extra deps for OpenThread configuration.
openthread_config_deps = []
# Include directories for project specific configs.
openthread_project_include_dirs = []
# OpenThread project-specific core config header
openthread_project_core_config_file = ""
# OpenThread platform-specific config check header
openthread_core_config_platform_check_file = ""
# Extra deps for OpenThread core configuration.
openthread_core_config_deps = []
# Use external platform.
openthread_external_platform = ""
# Use external mbedtls. If blank, internal mbedtls will be used.
openthread_external_mbedtls = ""
# Package name for OpenThread.
openthread_package_name = "OPENTHREAD"
# Package version for OpenThread.
openthread_package_version = "1.0.0"
}
declare_args() {
# Configure OpenThread via GN arguments.
openthread_enable_core_config_args = openthread_project_core_config_file == ""
}
if (openthread_enable_core_config_args) {
declare_args() {
# Thread version: 1.1, 1.2
openthread_config_thread_version = "1.2"
# Log output: none, debug_uart, app, platform
openthread_config_log_output = ""
# Enable assertions.
openthread_config_assert_enable = true
# Enable anycast locator functionality
openthread_config_anycast_locator_enable = false
# Enable backbone router functionality
openthread_config_backbone_router_enable = false
# Enable border agent support
openthread_config_border_agent_enable = false
# Enable border router support
openthread_config_border_router_enable = false
# Enable border routing support
openthread_config_border_routing_enable = false
# Enable channel manager support
openthread_config_channel_manager_enable = false
# Enable channel monitor support
openthread_config_channel_monitor_enable = false
# Enable child supervision support
openthread_config_child_supervision_enable = false
# Enable coap api support
openthread_config_coap_api_enable = false
# Enable secure coap api support
openthread_config_coap_secure_api_enable = false
# Enable coap observe (RFC7641) api support
openthread_config_coap_observe_api_enable = false
# Enable commissioner support
openthread_config_commissioner_enable = false
# Enable csl receiver
openthread_config_mac_csl_receiver_enable = false
# Enable DHCP6 client support
openthread_config_dhcp6_client_enable = false
# Enable DHCP6 server support
openthread_config_dhcp6_server_enable = false
# Enable diagnostic support
openthread_config_diag_enable = false
# Enable DNS client support
openthread_config_dns_client_enable = false
# Enable DNS-SD server support
openthread_config_dnssd_server_enable = false
# Enable ECDSA support
openthread_config_ecdsa_enable = false
# Enable Domain Unicast Address feature for Thread 1.2
openthread_config_dua_enable = false
# Enable Multicast Listener Registration feature for Thread 1.2
openthread_config_mlr_enable = false
# Enable external heap support
openthread_config_heap_external_enable = false
# Enable ipv6 fragmentation support
openthread_config_ip6_fragmentation_enable = false
# Enable jam detection support
openthread_config_jam_detection_enable = false
# Enable joiner support
openthread_config_joiner_enable = false
# Enable legacy network support
openthread_config_legacy_enable = false
# Enable link metrics initiator
openthread_config_link_metrics_initiator_enable = false
# Enable link metrics subject
openthread_config_link_metrics_subject_enable = false
# Enable link raw service
openthread_config_link_raw_enable = false
# Enable dynamic log level control
openthread_config_log_level_dynamic_enable = false
# Enable mac filter support
openthread_config_mac_filter_enable = false
# Enable use built-in heap for message buffers
openthread_config_message_use_heap = false
# Enable MLE long routes extension (experimental, breaks Thread conformance]
openthread_config_mle_long_routes_enable = false
# Enable TMF network diagnostics on MTDs
openthread_config_tmf_network_diag_mtd_enable = false
# Enable multiple instances
openthread_config_multiple_instance_enable = false
# Enable platform netif support
openthread_config_platform_netif_enable = false
# Enable platform UDP support
openthread_config_platform_udp_enable = false
# Enable Thread Test Harness reference device support
openthread_config_reference_device_enable = false
# Enable support for injecting Service entries into the Thread Network Data
openthread_config_tmf_netdata_service_enable = false
# Enable volatile-only storage of settings
openthread_settings_ram = false
# Enable support for adding of auto-configured SLAAC addresses by OpenThread
openthread_config_ip6_slaac_enable = false
# Enable SNTP Client support
openthread_config_sntp_client_enable = false
# Enable SRP Client support
openthread_config_srp_client_enable = false
# Enable SRP Server support
openthread_config_srp_server_enable = false
# Enable ping sender support
openthread_config_ping_sender = false
# Enable the time synchronization service feature
openthread_config_time_sync_enable = false
# Enable UDP forward support
openthread_config_udp_forward_enable = false
# Enable full logs
openthread_config_full_logs = false
# Enable OTNS support
openthread_config_otns_enable = false
# Enable NCP SPI support
openthread_config_ncp_spi_enable = false
# Enable NCP HDLC support
openthread_config_ncp_hdlc_enable = false
# Enable builtin mbedtls management
openthread_config_enable_builtin_mbedtls_management =
openthread_external_mbedtls == ""
# Enable radio coexistence
openthread_config_coexistence_enable = false
}
}
if (openthread_external_mbedtls != "") {
mbedtls_target = openthread_external_mbedtls
} else {
mbedtls_target = "../../third_party/mbedtls"
}