1*cfb92d14SAndroid Build Coastguard Worker#!/bin/bash 2*cfb92d14SAndroid Build Coastguard Worker# 3*cfb92d14SAndroid Build Coastguard Worker# Copyright (c) 2020, The OpenThread Authors. 4*cfb92d14SAndroid Build Coastguard Worker# All rights reserved. 5*cfb92d14SAndroid Build Coastguard Worker# 6*cfb92d14SAndroid Build Coastguard Worker# Redistribution and use in source and binary forms, with or without 7*cfb92d14SAndroid Build Coastguard Worker# modification, are permitted provided that the following conditions are met: 8*cfb92d14SAndroid Build Coastguard Worker# 1. Redistributions of source code must retain the above copyright 9*cfb92d14SAndroid Build Coastguard Worker# notice, this list of conditions and the following disclaimer. 10*cfb92d14SAndroid Build Coastguard Worker# 2. Redistributions in binary form must reproduce the above copyright 11*cfb92d14SAndroid Build Coastguard Worker# notice, this list of conditions and the following disclaimer in the 12*cfb92d14SAndroid Build Coastguard Worker# documentation and/or other materials provided with the distribution. 13*cfb92d14SAndroid Build Coastguard Worker# 3. Neither the name of the copyright holder nor the 14*cfb92d14SAndroid Build Coastguard Worker# names of its contributors may be used to endorse or promote products 15*cfb92d14SAndroid Build Coastguard Worker# derived from this software without specific prior written permission. 16*cfb92d14SAndroid Build Coastguard Worker# 17*cfb92d14SAndroid Build Coastguard Worker# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18*cfb92d14SAndroid Build Coastguard Worker# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19*cfb92d14SAndroid Build Coastguard Worker# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20*cfb92d14SAndroid Build Coastguard Worker# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 21*cfb92d14SAndroid Build Coastguard Worker# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22*cfb92d14SAndroid Build Coastguard Worker# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23*cfb92d14SAndroid Build Coastguard Worker# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24*cfb92d14SAndroid Build Coastguard Worker# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25*cfb92d14SAndroid Build Coastguard Worker# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26*cfb92d14SAndroid Build Coastguard Worker# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27*cfb92d14SAndroid Build Coastguard Worker# POSSIBILITY OF SUCH DAMAGE. 28*cfb92d14SAndroid Build Coastguard Worker# 29*cfb92d14SAndroid Build Coastguard Worker 30*cfb92d14SAndroid Build Coastguard Workerset -euxo pipefail 31*cfb92d14SAndroid Build Coastguard Worker 32*cfb92d14SAndroid Build Coastguard Worker: "${CFLAGS:=}" 33*cfb92d14SAndroid Build Coastguard Worker: "${CXXFLAGS:=}" 34*cfb92d14SAndroid Build Coastguard Worker 35*cfb92d14SAndroid Build Coastguard WorkerOT_BUILDDIR="$(pwd)/build" 36*cfb92d14SAndroid Build Coastguard Workerreadonly OT_BUILDDIR 37*cfb92d14SAndroid Build Coastguard Worker 38*cfb92d14SAndroid Build Coastguard Workerreset_source() 39*cfb92d14SAndroid Build Coastguard Worker{ 40*cfb92d14SAndroid Build Coastguard Worker rm -rf "$OT_BUILDDIR" 41*cfb92d14SAndroid Build Coastguard Worker} 42*cfb92d14SAndroid Build Coastguard Worker 43*cfb92d14SAndroid Build Coastguard Workerbuild_all_features() 44*cfb92d14SAndroid Build Coastguard Worker{ 45*cfb92d14SAndroid Build Coastguard Worker local cppflags=( 46*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_ANNOUNCE_SENDER_ENABLE=1" 47*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_ANYCAST_LOCATOR=1" 48*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_BORDER_AGENT_ENABLE=1" 49*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE=1" 50*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE=1" 51*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE=1" 52*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE=1" 53*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_COAP_API_ENABLE=1" 54*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE=1" 55*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_COMMISSIONER_ENABLE=1" 56*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE=1" 57*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE=1" 58*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE=1" 59*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_DIAG_ENABLE=1" 60*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1" 61*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_DNS_DSO_ENABLE=1" 62*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_ECDSA_ENABLE=1" 63*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE=1" 64*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE=1" 65*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE=1" 66*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_IP6_SLAAC_ENABLE=1" 67*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_JAM_DETECTION_ENABLE=1" 68*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_JOINER_ENABLE=1" 69*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_LINK_RAW_ENABLE=1" 70*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1" 71*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MAC_BEACON_RSP_WHEN_JOINABLE_ENABLE=1" 72*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1" 73*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE=1" 74*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MAC_SOFTWARE_ACK_TIMEOUT_ENABLE=1" 75*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MAC_SOFTWARE_CSMA_BACKOFF_ENABLE=1" 76*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MAC_SOFTWARE_ENERGY_SCAN_ENABLE=1" 77*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MAC_SOFTWARE_RETRANSMIT_ENABLE=1" 78*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MAC_SOFTWARE_TX_SECURITY_ENABLE=1" 79*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE=1" 80*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE=1" 81*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MPL_DYNAMIC_INTERVAL_ENABLE" 82*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_NCP_HDLC_ENABLE=1" 83*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_NCP_SPI_ENABLE=1" 84*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_PING_SENDER_ENABLE=1" 85*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE=1" 86*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE=1" 87*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE=1" 88*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE=1" 89*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE=1" 90*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_SRP_CLIENT_ENABLE=1" 91*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE=1" 92*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE=1" 93*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_UDP_FORWARD_ENABLE=1" 94*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE=1" 95*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MAC_OUTGOING_BEACON_PAYLOAD_ENABLE=1" 96*cfb92d14SAndroid Build Coastguard Worker ) 97*cfb92d14SAndroid Build Coastguard Worker 98*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.1 with full features 99*cfb92d14SAndroid Build Coastguard Worker reset_source 100*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS}" CXXFLAGS="${cppflags[*]} ${CXXFLAGS}" \ 101*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation \ 102*cfb92d14SAndroid Build Coastguard Worker -DOT_THREAD_VERSION=1.1 103*cfb92d14SAndroid Build Coastguard Worker 104*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.1 with full features and no log 105*cfb92d14SAndroid Build Coastguard Worker reset_source 106*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS}" CXXFLAGS="${cppflags[*]} ${CXXFLAGS}" \ 107*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation \ 108*cfb92d14SAndroid Build Coastguard Worker -DOT_THREAD_VERSION=1.1 \ 109*cfb92d14SAndroid Build Coastguard Worker -DOT_LOG_OUTPUT=NONE 110*cfb92d14SAndroid Build Coastguard Worker 111*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.1 with full features and full logs 112*cfb92d14SAndroid Build Coastguard Worker reset_source 113*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS}" CXXFLAGS="${cppflags[*]} ${CXXFLAGS}" \ 114*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation \ 115*cfb92d14SAndroid Build Coastguard Worker -DOT_THREAD_VERSION=1.1 \ 116*cfb92d14SAndroid Build Coastguard Worker -DOT_FULL_LOGS=ON 117*cfb92d14SAndroid Build Coastguard Worker 118*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.1 cli-radio 119*cfb92d14SAndroid Build Coastguard Worker reset_source 120*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation \ 121*cfb92d14SAndroid Build Coastguard Worker -DOT_THREAD_VERSION=1.1 \ 122*cfb92d14SAndroid Build Coastguard Worker -DOT_DIAGNOSTIC=ON \ 123*cfb92d14SAndroid Build Coastguard Worker -DOT_APP_CLI=ON \ 124*cfb92d14SAndroid Build Coastguard Worker -DOT_APP_NCP=OFF \ 125*cfb92d14SAndroid Build Coastguard Worker -DOT_APP_RCP=OFF \ 126*cfb92d14SAndroid Build Coastguard Worker -DOT_FTD=OFF \ 127*cfb92d14SAndroid Build Coastguard Worker -DOT_MTD=OFF 128*cfb92d14SAndroid Build Coastguard Worker 129*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.1 with ASSERT disabled 130*cfb92d14SAndroid Build Coastguard Worker reset_source 131*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS}" CXXFLAGS="${cppflags[*]} ${CXXFLAGS}" \ 132*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation \ 133*cfb92d14SAndroid Build Coastguard Worker -DOT_THREAD_VERSION=1.1 \ 134*cfb92d14SAndroid Build Coastguard Worker -DOT_SIMULATION_VIRTUAL_TIME=ON \ 135*cfb92d14SAndroid Build Coastguard Worker -DOT_ASSERT=OFF 136*cfb92d14SAndroid Build Coastguard Worker 137*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.1 OTNS 138*cfb92d14SAndroid Build Coastguard Worker reset_source 139*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS}" CXXFLAGS="${cppflags[*]} ${CXXFLAGS}" \ 140*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation \ 141*cfb92d14SAndroid Build Coastguard Worker -DOT_THREAD_VERSION=1.1 \ 142*cfb92d14SAndroid Build Coastguard Worker -DOT_SIMULATION_VIRTUAL_TIME=ON \ 143*cfb92d14SAndroid Build Coastguard Worker -DOT_OTNS=ON 144*cfb92d14SAndroid Build Coastguard Worker 145*cfb92d14SAndroid Build Coastguard Worker # Thread 1.3 options 146*cfb92d14SAndroid Build Coastguard Worker local options=( 147*cfb92d14SAndroid Build Coastguard Worker "-DOT_BACKBONE_ROUTER=ON" 148*cfb92d14SAndroid Build Coastguard Worker "-DOT_BORDER_ROUTING=ON" 149*cfb92d14SAndroid Build Coastguard Worker "-DOT_NAT64_BORDER_ROUTING=ON" 150*cfb92d14SAndroid Build Coastguard Worker "-DOT_NAT64_TRANSLATOR=ON" 151*cfb92d14SAndroid Build Coastguard Worker "-DOT_CSL_RECEIVER=ON" 152*cfb92d14SAndroid Build Coastguard Worker "-DOT_MLR=ON" 153*cfb92d14SAndroid Build Coastguard Worker "-DOT_OTNS=ON" 154*cfb92d14SAndroid Build Coastguard Worker "-DOT_SIMULATION_VIRTUAL_TIME=ON" 155*cfb92d14SAndroid Build Coastguard Worker "-DOT_THREAD_VERSION=1.3" 156*cfb92d14SAndroid Build Coastguard Worker ) 157*cfb92d14SAndroid Build Coastguard Worker 158*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.3 with full features 159*cfb92d14SAndroid Build Coastguard Worker reset_source 160*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS}" CXXFLAGS="${cppflags[*]} ${CXXFLAGS}" \ 161*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation "${options[@]}" -DOT_DUA=ON 162*cfb92d14SAndroid Build Coastguard Worker 163*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.3 with external heap and msg pool using heap 164*cfb92d14SAndroid Build Coastguard Worker reset_source 165*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS} -DOPENTHREAD_CONFIG_MESSAGE_USE_HEAP_ENABLE=1" \ 166*cfb92d14SAndroid Build Coastguard Worker CXXFLAGS="${cppflags[*]} ${CXXFLAGS} -DOPENTHREAD_CONFIG_MESSAGE_USE_HEAP_ENABLE=1" \ 167*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation "${options[@]}" -DOT_DUA=ON 168*cfb92d14SAndroid Build Coastguard Worker 169*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.3 with full features and no log 170*cfb92d14SAndroid Build Coastguard Worker reset_source 171*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS}" CXXFLAGS="${cppflags[*]} ${CXXFLAGS}" \ 172*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation "${options[@]}" -DOT_DUA=ON -DOT_LOG_OUTPUT=NONE 173*cfb92d14SAndroid Build Coastguard Worker 174*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.3 with full features and full logs 175*cfb92d14SAndroid Build Coastguard Worker reset_source 176*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS}" CXXFLAGS="${cppflags[*]} ${CXXFLAGS}" \ 177*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation "${options[@]}" -DOT_DUA=ON -DOT_FULL_LOGS=ON 178*cfb92d14SAndroid Build Coastguard Worker 179*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.3 Backbone Router without DUA ND Proxying 180*cfb92d14SAndroid Build Coastguard Worker reset_source 181*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation "${options[@]}" -DOT_BACKBONE_ROUTER_DUA_NDPROXYING=OFF 182*cfb92d14SAndroid Build Coastguard Worker 183*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.3 Backbone Router without Multicast Routing 184*cfb92d14SAndroid Build Coastguard Worker reset_source 185*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation "${options[@]}" -DOT_BACKBONE_ROUTER_MULTICAST_ROUTING=OFF 186*cfb92d14SAndroid Build Coastguard Worker 187*cfb92d14SAndroid Build Coastguard Worker # Build with Vendor Extension 188*cfb92d14SAndroid Build Coastguard Worker reset_source 189*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation \ 190*cfb92d14SAndroid Build Coastguard Worker -DOT_THREAD_VERSION=1.1 \ 191*cfb92d14SAndroid Build Coastguard Worker -DOT_VENDOR_EXTENSION=../../src/core/instance/extension_example.cpp 192*cfb92d14SAndroid Build Coastguard Worker 193*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.3 with no additional features 194*cfb92d14SAndroid Build Coastguard Worker reset_source 195*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation -DOT_THREAD_VERSION=1.3 196*cfb92d14SAndroid Build Coastguard Worker 197*cfb92d14SAndroid Build Coastguard Worker # Build Thread 1.3 with full features and OT_ASSERT=OFF 198*cfb92d14SAndroid Build Coastguard Worker reset_source 199*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation "${options[@]}" -DOT_DUA=ON -DOT_ASSERT=OFF 200*cfb92d14SAndroid Build Coastguard Worker 201*cfb92d14SAndroid Build Coastguard Worker # Build with RAM settings 202*cfb92d14SAndroid Build Coastguard Worker reset_source 203*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation -DOT_SETTINGS_RAM=ON 204*cfb92d14SAndroid Build Coastguard Worker 205*cfb92d14SAndroid Build Coastguard Worker reset_source 206*cfb92d14SAndroid Build Coastguard Worker "$(dirname "$0")"/cmake-build simulation -DOT_BLE_TCAT=ON 207*cfb92d14SAndroid Build Coastguard Worker} 208*cfb92d14SAndroid Build Coastguard Worker 209*cfb92d14SAndroid Build Coastguard Workerbuild_nest_common() 210*cfb92d14SAndroid Build Coastguard Worker{ 211*cfb92d14SAndroid Build Coastguard Worker local cppflags=( 212*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE=1" 213*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE=1" 214*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE=1" 215*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE=1" 216*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_DIAG_ENABLE=1" 217*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_JAM_DETECTION_ENABLE=1" 218*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1" 219*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_PING_SENDER_ENABLE=1" 220*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_NCP_SPI_ENABLE=1" 221*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE=1" 222*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE=1" 223*cfb92d14SAndroid Build Coastguard Worker ) 224*cfb92d14SAndroid Build Coastguard Worker 225*cfb92d14SAndroid Build Coastguard Worker reset_source 226*cfb92d14SAndroid Build Coastguard Worker mkdir build && cd build 227*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS}" CXXFLAGS="${cppflags[*]} ${CXXFLAGS}" \ 228*cfb92d14SAndroid Build Coastguard Worker cmake -GNinja -DOT_PLATFORM=simulation .. 229*cfb92d14SAndroid Build Coastguard Worker ninja 230*cfb92d14SAndroid Build Coastguard Worker cd .. 231*cfb92d14SAndroid Build Coastguard Worker 232*cfb92d14SAndroid Build Coastguard Worker cppflags=( 233*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_ANOUNCE_SENDER_ENABLE=1" 234*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE=1" 235*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_TIME_SYNC_ENABLE=1" 236*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_NCP_HDLC_ENABLE=1" 237*cfb92d14SAndroid Build Coastguard Worker ) 238*cfb92d14SAndroid Build Coastguard Worker 239*cfb92d14SAndroid Build Coastguard Worker reset_source 240*cfb92d14SAndroid Build Coastguard Worker mkdir build && cd build 241*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS}" CXXFLAGS="${cppflags[*]} ${CXXFLAGS}" \ 242*cfb92d14SAndroid Build Coastguard Worker cmake -GNinja -DOT_PLATFORM=simulation .. 243*cfb92d14SAndroid Build Coastguard Worker ninja 244*cfb92d14SAndroid Build Coastguard Worker cd .. 245*cfb92d14SAndroid Build Coastguard Worker 246*cfb92d14SAndroid Build Coastguard Worker cppflags=( 247*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_NCP_HDLC_ENABLE=1" 248*cfb92d14SAndroid Build Coastguard Worker "-DOPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE=1" 249*cfb92d14SAndroid Build Coastguard Worker ) 250*cfb92d14SAndroid Build Coastguard Worker 251*cfb92d14SAndroid Build Coastguard Worker reset_source 252*cfb92d14SAndroid Build Coastguard Worker mkdir build && cd build 253*cfb92d14SAndroid Build Coastguard Worker CFLAGS="${cppflags[*]} ${CFLAGS}" CXXFLAGS="${cppflags[*]} ${CXXFLAGS}" \ 254*cfb92d14SAndroid Build Coastguard Worker cmake -GNinja -DOT_PLATFORM=simulation \ 255*cfb92d14SAndroid Build Coastguard Worker -DOT_VENDOR_EXTENSION=instance/extension_example.cpp \ 256*cfb92d14SAndroid Build Coastguard Worker -DOT_NCP_VENDOR_HOOK_SOURCE=example_vendor_hook.cpp \ 257*cfb92d14SAndroid Build Coastguard Worker .. 258*cfb92d14SAndroid Build Coastguard Worker ninja 259*cfb92d14SAndroid Build Coastguard Worker cd .. 260*cfb92d14SAndroid Build Coastguard Worker} 261*cfb92d14SAndroid Build Coastguard Worker 262*cfb92d14SAndroid Build Coastguard Workerbuild_multi_radio_links() 263*cfb92d14SAndroid Build Coastguard Worker{ 264*cfb92d14SAndroid Build Coastguard Worker # TREL radio link only. 265*cfb92d14SAndroid Build Coastguard Worker reset_source 266*cfb92d14SAndroid Build Coastguard Worker ./script/cmake-build simulation -DOT_LOG_LEVEL=DEBG \ 267*cfb92d14SAndroid Build Coastguard Worker -DOT_TREL=OFF -DOT_15_4=ON 268*cfb92d14SAndroid Build Coastguard Worker 269*cfb92d14SAndroid Build Coastguard Worker # Multi radio link - 15.4 and TREL. 270*cfb92d14SAndroid Build Coastguard Worker reset_source 271*cfb92d14SAndroid Build Coastguard Worker ./script/cmake-build simulation -DOT_LOG_LEVEL=DEBG \ 272*cfb92d14SAndroid Build Coastguard Worker -DOT_TREL=ON -DOT_15_4=ON 273*cfb92d14SAndroid Build Coastguard Worker} 274*cfb92d14SAndroid Build Coastguard Workermain() 275*cfb92d14SAndroid Build Coastguard Worker{ 276*cfb92d14SAndroid Build Coastguard Worker build_all_features 277*cfb92d14SAndroid Build Coastguard Worker build_nest_common 278*cfb92d14SAndroid Build Coastguard Worker build_multi_radio_links 279*cfb92d14SAndroid Build Coastguard Worker} 280*cfb92d14SAndroid Build Coastguard Worker 281*cfb92d14SAndroid Build Coastguard Workermain "$@" 282