#!/bin/sh
#
#  Copyright (c) 2016, 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.
#

die() {
	echo " *** ERROR: " $*
	exit 1
}

set -x

python --version || die

[ $BUILD_TARGET != scan-build ] || {
    ./bootstrap || die

    export CPPFLAGS="-DMBEDTLS_DEBUG_C"
    export CPPFLAGS="${CPPFLAGS} -I${TRAVIS_BUILD_DIR}/third_party/mbedtls"
    export CPPFLAGS="${CPPFLAGS} -I${TRAVIS_BUILD_DIR}/third_party/mbedtls/repo/include"
    export CPPFLAGS="${CPPFLAGS} -DMBEDTLS_CONFIG_FILE=\\\"mbedtls-config.h\\\""

    # UART transport
    export CPPFLAGS="${CPPFLAGS}                          \
        -DOPENTHREAD_CONFIG_BORDER_AGENT_ENABLE=1         \
        -DOPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE=1        \
        -DOPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE=1      \
        -DOPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE=1      \
        -DOPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE=1    \
        -DOPENTHREAD_CONFIG_COAP_API_ENABLE=1             \
        -DOPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE=1      \
        -DOPENTHREAD_CONFIG_COMMISSIONER_ENABLE=1         \
        -DOPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE=1         \
        -DOPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE=1         \
        -DOPENTHREAD_CONFIG_DIAG_ENABLE=1                 \
        -DOPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1           \
        -DOPENTHREAD_CONFIG_ECDSA_ENABLE=1                \
        -DOPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE=1    \
        -DOPENTHREAD_CONFIG_LEGACY_ENABLE=1               \
        -DOPENTHREAD_CONFIG_JAM_DETECTION_ENABLE=1        \
        -DOPENTHREAD_CONFIG_JOINER_ENABLE=1               \
        -DOPENTHREAD_CONFIG_LINK_RAW_ENABLE=1             \
        -DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1           \
        -DOPENTHREAD_CONFIG_NCP_UART_ENABLE=1             \
        -DOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE=1     \
        -DOPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE=1          \
        -DOPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE=1  \
        -DOPENTHREAD_CONFIG_TMF_NETWORK_DIAG_MTD_ENABLE=1 \
        -DOPENTHREAD_CONFIG_UDP_FORWARD_ENABLE=1"

    scan-build ./configure                \
        --enable-builtin-mbedtls=no       \
        --enable-cli                      \
        --enable-executable=no            \
        --enable-ftd                      \
        --enable-mtd                      \
        --enable-ncp                      \
        --enable-radio-only               \
        --with-examples=posix || die

    scan-build --status-bugs -analyze-headers -v make -j2 || die

    # SPI transport
    scan-build ./configure                \
        --enable-builtin-mbedtls=no       \
        --enable-cli                      \
        --enable-executable=no            \
        --enable-ftd                      \
        --enable-mtd                      \
        --enable-ncp                      \
        --enable-radio-only               \
        --with-examples=posix || die

    scan-build --status-bugs -analyze-headers -v make -j2 || die
}

[ $BUILD_TARGET != android-build ] || {
    (cd .. && ${TRAVIS_BUILD_DIR}/.travis/check-android-build) || die
}

[ $BUILD_TARGET != gn-build ] || {
    (cd ${TRAVIS_BUILD_DIR} && .travis/check-gn-build) || die
}

build_cc1352() {
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    COMMISSIONER=1 JOINER=1 SLAAC=1 DHCP6_CLIENT=1 DHCP6_SERVER=1 DNS_CLIENT=1 make -f examples/Makefile-cc1352 || die
    arm-none-eabi-size  output/cc1352/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/cc1352/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/cc1352/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/cc1352/bin/ot-ncp-mtd || die
}

build_cc2538() {
    git checkout -- . || die
    git clean -xfd || die
    mkdir build && cd build || die
    cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=examples/platforms/cc2538/arm-none-eabi.cmake -DOT_PLATFORM=cc2538 .. || die
    ninja || die
    cd .. || die

    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    COMMISSIONER=1 JOINER=1 SLAAC=1 DHCP6_CLIENT=1 DHCP6_SERVER=1 DNS_CLIENT=1 make -f examples/Makefile-cc2538 || die
    arm-none-eabi-size  output/cc2538/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/cc2538/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/cc2538/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/cc2538/bin/ot-ncp-mtd || die
}

build_cc2650() {
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    make -f examples/Makefile-cc2650 || die
    arm-none-eabi-size  output/cc2650/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/cc2650/bin/ot-ncp-mtd || die
}

build_cc2652() {
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    COMMISSIONER=1 JOINER=1 SLAAC=1 DHCP6_CLIENT=1 DHCP6_SERVER=1 DNS_CLIENT=1 make -f examples/Makefile-cc2652 || die
    arm-none-eabi-size  output/cc2652/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/cc2652/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/cc2652/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/cc2652/bin/ot-ncp-mtd || die
}

build_kw41z() {
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    COMMISSIONER=1 JOINER=1 SLAAC=1 DHCP6_CLIENT=1 DHCP6_SERVER=1 DNS_CLIENT=1 make -f examples/Makefile-kw41z || die
    arm-none-eabi-size  output/kw41z/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/kw41z/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/kw41z/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/kw41z/bin/ot-ncp-mtd || die
}

build_nrf52811() {
    # Default OpenThread switches for nRF52811 platform
    OPENTHREAD_FLAGS="BORDER_ROUTER=1 COAP=1 DNS_CLIENT=1 LINK_RAW=1 MAC_FILTER=1 MTD_NETDIAG=1"

    # UART transport
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    make -f examples/Makefile-nrf52811 $OPENTHREAD_FLAGS || die
    arm-none-eabi-size  output/nrf52811/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/nrf52811/bin/ot-ncp-mtd || die
    arm-none-eabi-size  output/nrf52811/bin/ot-rcp || die

    # SPI transport for NCP
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    NCP_SPI=1 make -f examples/Makefile-nrf52811 $OPENTHREAD_FLAGS || die
    arm-none-eabi-size  output/nrf52811/bin/ot-ncp-mtd || die
    arm-none-eabi-size  output/nrf52811/bin/ot-rcp || die

    # Build without transport (no CLI or NCP applications)
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    DISABLE_TRANSPORTS=1 make -f examples/Makefile-nrf52811 || die
}

build_nrf52833() {
    # Default OpenThread switches for nRF52833 platform
    OPENTHREAD_FLAGS="BORDER_AGENT=1 BORDER_ROUTER=1 COAP=1 COAPS=1 COMMISSIONER=1 DHCP6_CLIENT=1 DHCP6_SERVER=1 DNS_CLIENT=1 ECDSA=1 FULL_LOGS=1 IP6_FRAGM=1 JOINER=1 LINK_RAW=1 MAC_FILTER=1 MTD_NETDIAG=1 SERVICE=1 SLAAC=1 SNTP_CLIENT=1 UDP_FORWARD=1"

    # UART transport
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    make -f examples/Makefile-nrf52833 $OPENTHREAD_FLAGS || die
    arm-none-eabi-size  output/nrf52833/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/nrf52833/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/nrf52833/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/nrf52833/bin/ot-ncp-mtd || die
    arm-none-eabi-size  output/nrf52833/bin/ot-rcp || die

    # USB transport
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    USB=1 make -f examples/Makefile-nrf52833 $OPENTHREAD_FLAGS || die
    arm-none-eabi-size  output/nrf52833/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/nrf52833/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/nrf52833/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/nrf52833/bin/ot-ncp-mtd || die
    arm-none-eabi-size  output/nrf52833/bin/ot-rcp || die

    # SPI transport for NCP
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    NCP_SPI=1 make -f examples/Makefile-nrf52833 $OPENTHREAD_FLAGS || die
    arm-none-eabi-size  output/nrf52833/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/nrf52833/bin/ot-ncp-mtd || die
    arm-none-eabi-size  output/nrf52833/bin/ot-rcp || die

    # Build without transport (no CLI or NCP applications)
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    DISABLE_TRANSPORTS=1 make -f examples/Makefile-nrf52833 $OPENTHREAD_FLAGS || die
}

build_nrf52840() {
    # Default OpenThread switches for nRF52840 platform
    OPENTHREAD_FLAGS="BORDER_AGENT=1 BORDER_ROUTER=1 COAP=1 COAPS=1 COMMISSIONER=1 DEBUG=1 DHCP6_CLIENT=1 DHCP6_SERVER=1 DNS_CLIENT=1 ECDSA=1 FULL_LOGS=1 IP6_FRAGM=1 JOINER=1 LINK_RAW=1 MAC_FILTER=1 MTD_NETDIAG=1 SERVICE=1 SLAAC=1 SNTP_CLIENT=1 UDP_FORWARD=1"

    # UART transport
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    make -f examples/Makefile-nrf52840 $OPENTHREAD_FLAGS || die
    arm-none-eabi-size  output/nrf52840/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-ncp-mtd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-rcp || die

    # USB transport with bootloader e.g. to support PCA10059 dongle
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    USB=1 BOOTLOADER=1 make -f examples/Makefile-nrf52840 $OPENTHREAD_FLAGS || die
    arm-none-eabi-size  output/nrf52840/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-ncp-mtd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-rcp || die

    # SPI transport for NCP
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    NCP_SPI=1 make -f examples/Makefile-nrf52840 $OPENTHREAD_FLAGS || die
    arm-none-eabi-size  output/nrf52840/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-ncp-mtd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-rcp || die

    # Build without transport (no CLI or NCP applications)
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    DISABLE_TRANSPORTS=1 make -f examples/Makefile-nrf52840 $OPENTHREAD_FLAGS || die

    # Software cryptography
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    DISABLE_BUILTIN_MBEDTLS=0 make -f examples/Makefile-nrf52840 $OPENTHREAD_FLAGS || die
    arm-none-eabi-size  output/nrf52840/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-ncp-mtd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-rcp || die

    # Software cryptography with threading support
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    DISABLE_BUILTIN_MBEDTLS=0 MBEDTLS_THREADING=1 make -f examples/Makefile-nrf52840 $OPENTHREAD_FLAGS || die
    arm-none-eabi-size  output/nrf52840/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-ncp-mtd || die
    arm-none-eabi-size  output/nrf52840/bin/ot-rcp || die
}

build_qpg6095() {
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    COMMISSIONER=1 JOINER=1 SLAAC=1 DHCP6_CLIENT=1 DHCP6_SERVER=1 DNS_CLIENT=1 make -f examples/Makefile-qpg6095 || die
    arm-none-eabi-size  output/qpg6095/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/qpg6095/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/qpg6095/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/qpg6095/bin/ot-ncp-mtd || die
}

build_samr21() {
    git checkout -- . || die
    git clean -xfd || die
    wget http://ww1.microchip.com/downloads/en/DeviceDoc/asf-standalone-archive-3.45.0.85.zip || die
    unzip -qq asf-standalone-archive-3.45.0.85.zip || die
    mv xdk-asf-3.45.0 third_party/microchip/asf || die
    ./bootstrap || die
    COMMISSIONER=1 JOINER=1 SLAAC=1 DHCP6_CLIENT=1 DHCP6_SERVER=1 DNS_CLIENT=1 make -f examples/Makefile-samr21 || die
    arm-none-eabi-size  output/samr21/bin/ot-cli-ftd || die
    arm-none-eabi-size  output/samr21/bin/ot-cli-mtd || die
    arm-none-eabi-size  output/samr21/bin/ot-ncp-ftd || die
    arm-none-eabi-size  output/samr21/bin/ot-ncp-mtd || die
}

[ $BUILD_TARGET != arm-gcc-4 ] || {
    export PATH=/tmp/gcc-arm-none-eabi-4_9-2015q3/bin:$PATH || die

    build_cc1352
    build_cc2538
    build_cc2650
    build_cc2652
    build_kw41z
    build_nrf52811
    build_nrf52833
    build_nrf52840
    build_qpg6095
    build_samr21
}

[ $BUILD_TARGET != arm-gcc-5 ] || {
    export PATH=/tmp/gcc-arm-none-eabi-5_4-2016q3/bin:$PATH || die

    build_cc1352
    build_cc2538
    build_cc2650
    build_cc2652
    build_kw41z
    build_nrf52811
    build_nrf52833
    build_nrf52840
    build_qpg6095
    build_samr21
}

[ $BUILD_TARGET != arm-gcc-6 ] || {
    export PATH=/tmp/gcc-arm-none-eabi-6-2017-q2-update/bin:$PATH || die

    build_cc1352
    build_cc2538
    build_cc2650
    build_cc2652
    build_kw41z
    build_nrf52811
    build_nrf52833
    build_nrf52840
    build_qpg6095
    build_samr21
}

[ $BUILD_TARGET != arm-gcc-7 ] || {
    export PATH=/tmp/gcc-arm-none-eabi-7-2018-q2-update/bin:$PATH || die

    build_cc1352
    build_cc2538
    build_cc2650
    build_cc2652
    build_kw41z
    build_nrf52811
    build_nrf52833
    build_nrf52840
    build_qpg6095
    build_samr21
}

[ $BUILD_TARGET != arm-gcc-8 ] || {
    export PATH=/tmp/gcc-arm-none-eabi-8-2018-q4-major/bin:$PATH || die

    build_cc1352
    build_cc2538
    build_cc2650
    build_cc2652
    build_kw41z
    build_nrf52811
    build_nrf52833
    build_nrf52840
    build_qpg6095
    build_samr21
}

[ $BUILD_TARGET != arm-gcc-9 ] || {
    export PATH=/tmp/gcc-arm-none-eabi-9-2019-q4-major/bin:$PATH || die

    build_cc1352
    build_cc2538
    build_cc2650
    build_cc2652
    build_kw41z
    build_nrf52811
    build_nrf52833
    build_nrf52840
    build_qpg6095
    build_samr21
}

[ $BUILD_TARGET != posix ] || {
    git checkout -- . || die
    git clean -xfd || die
    mkdir build && cd build || die
    cmake -GNinja -DOT_PLATFORM=posix .. || die
    ninja || die
    cd .. || die

    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    CPPFLAGS=-DOPENTHREAD_CONFIG_LOG_LEVEL=OT_LOG_LEVEL_NONE make -f examples/Makefile-posix || die

    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    CPPFLAGS=-DOPENTHREAD_CONFIG_LOG_LEVEL=OT_LOG_LEVEL_DEBG make -f examples/Makefile-posix || die

    export CPPFLAGS="                                             \
        -DOPENTHREAD_CONFIG_ANNOUNCE_SENDER_ENABLE=1              \
        -DOPENTHREAD_CONFIG_BORDER_AGENT_ENABLE=1                 \
        -DOPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE=1                \
        -DOPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE=1              \
        -DOPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE=1              \
        -DOPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE=1            \
        -DOPENTHREAD_CONFIG_COAP_API_ENABLE=1                     \
        -DOPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE=1              \
        -DOPENTHREAD_CONFIG_COMMISSIONER_ENABLE=1                 \
        -DOPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE=1                 \
        -DOPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE=1                 \
        -DOPENTHREAD_CONFIG_DIAG_ENABLE=1                         \
        -DOPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1                   \
        -DOPENTHREAD_CONFIG_ECDSA_ENABLE=1                        \
        -DOPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE=1            \
        -DOPENTHREAD_CONFIG_IP6_SLAAC_ENABLE=1                    \
        -DOPENTHREAD_CONFIG_LEGACY_ENABLE=1                       \
        -DOPENTHREAD_CONFIG_MAC_BEACON_RSP_WHEN_JOINABLE_ENABLE=1 \
        -DOPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_ENABLE=1           \
        -DOPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE=1    \
        -DOPENTHREAD_CONFIG_MPL_DYNAMIC_INTERVAL_ENABLE           \
        -DOPENTHREAD_CONFIG_JAM_DETECTION_ENABLE=1                \
        -DOPENTHREAD_CONFIG_JOINER_ENABLE=1                       \
        -DOPENTHREAD_CONFIG_LINK_RAW_ENABLE=1                     \
        -DOPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1            \
        -DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1                   \
        -DOPENTHREAD_CONFIG_NCP_UART_ENABLE=1                     \
        -DOPENTHREAD_CONFIG_PLATFORM_NETIF_ENABLE=1               \
        -DOPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE=1          \
        -DOPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE=1          \
        -DOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE=1             \
        -DOPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE=1                  \
        -DOPENTHREAD_CONFIG_SOFTWARE_ACK_TIMEOUT_ENABLE=1         \
        -DOPENTHREAD_CONFIG_SOFTWARE_CSMA_BACKOFF_ENABLE=1        \
        -DOPENTHREAD_CONFIG_SOFTWARE_ENERGY_SCAN_ENABLE=1         \
        -DOPENTHREAD_CONFIG_SOFTWARE_RETRANSMIT_ENABLE=1          \
        -DOPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE=1          \
        -DOPENTHREAD_CONFIG_TMF_NETWORK_DIAG_MTD_ENABLE=1         \
        -DOPENTHREAD_CONFIG_UDP_FORWARD_ENABLE=1"

    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    make -f examples/Makefile-posix || die

    export CPPFLAGS="                                    \
        -DOPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE=1       \
        -DOPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE=1     \
        -DOPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE=1     \
        -DOPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE=1   \
        -DOPENTHREAD_CONFIG_DIAG_ENABLE=1                \
        -DOPENTHREAD_CONFIG_JAM_DETECTION_ENABLE=1       \
        -DOPENTHREAD_CONFIG_LEGACY_ENABLE=1              \
        -DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1          \
        -DOPENTHREAD_CONFIG_NCP_SPI_ENABLE=1             \
        -DOPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE=1"

    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    CPPFLAGS=-DOPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE=1 make -f examples/Makefile-posix || die

    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    CPPFLAGS=-DOPENTHREAD_CONFIG_MAC_RETRY_SUCCESS_HISTOGRAM_ENABLE=1 make -f examples/Makefile-posix || die

    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    ./configure                             \
        --enable-ncp                        \
        --enable-ftd                        \
        --enable-mtd                        \
        --with-examples=posix               \
        --disable-docs                      \
        --disable-tests                     \
        --with-vendor-extension=./src/core/common/extension_example.cpp || die
    make -j 8 || die

    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    ./configure                             \
        --enable-cli                        \
        --enable-mtd                        \
        --with-examples=posix               \
        --disable-docs                      \
        --disable-tests || die
    make -j 8 || die

    export CPPFLAGS="                               \
        -DOPENTHREAD_CONFIG_ANOUNCE_SENDER_ENABLE=1 \
        -DOPENTHREAD_CONFIG_TIME_SYNC_ENABLE=1      \
        -DOPENTHREAD_CONFIG_NCP_UART_ENABLE=1"

    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    ./configure                             \
        --enable-cli                        \
        --enable-ncp                        \
        --enable-ftd                        \
        --enable-mtd                        \
        --enable-radio-only                 \
        --with-examples=posix || die
    make -j 8 || die

    export CPPFLAGS="                               \
        -DOPENTHREAD_CONFIG_NCP_UART_ENABLE=1"

    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    ./configure                             \
        --enable-ncp                        \
        --enable-ftd                        \
        --enable-mtd                        \
        --with-examples=posix               \
        --disable-docs                      \
        --disable-tests                     \
        --with-ncp-vendor-hook-source=./src/ncp/example_vendor_hook.cpp || die
    make -j 8 || die
}

[ $BUILD_TARGET != posix-distcheck ] || {
    export ASAN_SYMBOLIZER_PATH=`which llvm-symbolizer` || die
    export ASAN_OPTIONS=symbolize=1 || die
    export DISTCHECK_CONFIGURE_FLAGS= CPPFLAGS=-DOPENTHREAD_POSIX_VIRTUAL_TIME=1 || die
    ./bootstrap || die
    REFERENCE_DEVICE=1 make -f examples/Makefile-posix distcheck || die
}

[ $BUILD_TARGET != posix-32-bit ] || {
    ./bootstrap || die
    REFERENCE_DEVICE=1 COVERAGE=1 CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 make -f examples/Makefile-posix check || die
}

[ $BUILD_TARGET != posix-app-cli ] || {
    ./bootstrap || die
    # enable code coverage for OpenThread transceiver only
    COVERAGE=1 VIRTUAL_TIME_UART=1 make -f examples/Makefile-posix || die
    # readline supports pipe, editline does not
    REFERENCE_DEVICE=1 COVERAGE=1 READLINE=readline make -f src/posix/Makefile-posix || die
    REFERENCE_DEVICE=1 COVERAGE=1 PYTHONUNBUFFERED=1 OT_CLI_PATH="$(pwd)/$(ls output/posix/*/bin/ot-cli) -v" RADIO_DEVICE="$(pwd)/$(ls output/*/bin/ot-rcp)" make -f src/posix/Makefile-posix check || die
}

[ $BUILD_TARGET != posix-app-pty ] || {
    # check daemon mode
    git checkout -- . || die
    git clean -xfd || die
    mkdir build && cd build || die
    cmake -GNinja -DOT_PLATFORM=posix-host -DOT_DAEMON=ON .. || die
    ninja || die
    cd .. || die

    git checkout -- . || die
    git clean -xfd || die
    mkdir build && cd build || die
    cmake -GNinja -DOT_PLATFORM=posix-host .. || die
    ninja || die
    cd .. || die

    ./bootstrap
    .travis/check-posix-app-pty || die
}

[ $BUILD_TARGET != posix-app-migrate ] || {
    ./bootstrap
    .travis/check-ncp-rcp-migrate || die
}

[ $BUILD_TARGET != posix-mtd ] || {
    ./bootstrap || die
    REFERENCE_DEVICE=1 COVERAGE=1 CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 USE_MTD=1 make -f examples/Makefile-posix check || die
}

[ $BUILD_TARGET != posix-ncp-spi ] || {
    CPPFLAGS="-DOPENTHREAD_CONFIG_NCP_SPI_ENABLE=1"

    ./bootstrap || die
    make -f examples/Makefile-posix check configure_OPTIONS="--enable-ncp --enable-ftd --with-examples=posix" || die
}

[ $BUILD_TARGET != posix-app-ncp ] || {
    ./bootstrap || die
    REFERENCE_DEVICE=1 COVERAGE=1 VIRTUAL_TIME_UART=1 make -f examples/Makefile-posix || die
    # enable code coverage for OpenThread posix radio
    REFERENCE_DEVICE=1 COVERAGE=1 READLINE=readline make -f src/posix/Makefile-posix || die
    REFERENCE_DEVICE=1 COVERAGE=1 PYTHONUNBUFFERED=1 OT_NCP_PATH="$(pwd)/$(ls output/posix/*/bin/ot-ncp)" RADIO_DEVICE="$(pwd)/$(ls output/*/bin/ot-rcp)" NODE_TYPE=ncp-sim make -f src/posix/Makefile-posix check || die
}

[ $BUILD_TARGET != posix-app-spi ] || {
    ./bootstrap || die
    REFERENCE_DEVICE=1 READLINE=readline RCP_SPI=1 make -f src/posix/Makefile-posix || die
}

[ $BUILD_TARGET != posix-ncp ] || {
    ./bootstrap || die
    REFERENCE_DEVICE=1 COVERAGE=1 PYTHONUNBUFFERED=1 NODE_TYPE=ncp-sim make -f examples/Makefile-posix check || die
}

[ $BUILD_TARGET != toranj-test-framework ] || {
    top_builddir=$(pwd)/build/toranj ./tests/toranj/start.sh || die
}

[ $BUILD_TARGET != osx ] || {
    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    make -f examples/Makefile-posix || die

    git checkout -- . || die
    git clean -xfd || die
    ./bootstrap || die
    make -f src/posix/Makefile-posix || die
}
