| # 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-android.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 = "" |
| |
| # Enable building for POSIX platforms. |
| openthread_posix = current_os == "linux" |
| |
| # 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 = "" |
| |
| # Log output: none, debug_uart, app, platform |
| openthread_config_log_output = "" |
| |
| # Enable assertions. |
| openthread_config_assert_enable = true |
| |
| # 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 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 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 |
| openthread_config_link_metrics_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 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 UART support |
| openthread_config_ncp_uart_enable = false |
| |
| # Enable builtin mbedtls management |
| openthread_config_enable_builtin_mbedtls_management = |
| openthread_external_mbedtls == "" |
| } |
| } |
| |
| if (openthread_external_mbedtls != "") { |
| mbedtls_target = openthread_external_mbedtls |
| } else { |
| mbedtls_target = "../../third_party/mbedtls" |
| } |