xref: /aosp_15_r20/external/openthread/tests/toranj/build.sh (revision cfb92d1480a9e65faed56933e9c12405f45898b4)
1*cfb92d14SAndroid Build Coastguard Worker#!/bin/bash
2*cfb92d14SAndroid Build Coastguard Worker#
3*cfb92d14SAndroid Build Coastguard Worker#  Copyright (c) 2018, 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 Workerdisplay_usage()
31*cfb92d14SAndroid Build Coastguard Worker{
32*cfb92d14SAndroid Build Coastguard Worker    echo ""
33*cfb92d14SAndroid Build Coastguard Worker    echo "Toranj Build script "
34*cfb92d14SAndroid Build Coastguard Worker    echo ""
35*cfb92d14SAndroid Build Coastguard Worker    echo "Usage: $(basename "$0") [options] <config>"
36*cfb92d14SAndroid Build Coastguard Worker    echo "    <config> can be:"
37*cfb92d14SAndroid Build Coastguard Worker    echo "        all             : Build OpenThread NCP, CLI, and RCP with simulation platform"
38*cfb92d14SAndroid Build Coastguard Worker    echo "        ncp             : Build OpenThread NCP mode with simulation platform"
39*cfb92d14SAndroid Build Coastguard Worker    echo "        ncp-15.4        : Build OpenThread NCP mode with simulation platform - 15.4 radio"
40*cfb92d14SAndroid Build Coastguard Worker    echo "        ncp-trel        : Build OpenThread NCP mode with simulation platform - TREL radio "
41*cfb92d14SAndroid Build Coastguard Worker    echo "        ncp-15.4+trel   : Build OpenThread NCP mode with simulation platform - multi radio (15.4+TREL)"
42*cfb92d14SAndroid Build Coastguard Worker    echo "        cli             : Build OpenThread CLI mode with simulation platform"
43*cfb92d14SAndroid Build Coastguard Worker    echo "        cli-15.4        : Build OpenThread CLI mode with simulation platform - 15.4 radio"
44*cfb92d14SAndroid Build Coastguard Worker    echo "        cli-trel        : Build OpenThread CLI mode with simulation platform - TREL radio "
45*cfb92d14SAndroid Build Coastguard Worker    echo "        cli-15.4+trel   : Build OpenThread CLI mode with simulation platform - multi radio (15.4+TREL)"
46*cfb92d14SAndroid Build Coastguard Worker    echo "        rcp             : Build OpenThread RCP (NCP in radio mode) with simulation platform"
47*cfb92d14SAndroid Build Coastguard Worker    echo "        posix           : Build OpenThread POSIX"
48*cfb92d14SAndroid Build Coastguard Worker    echo "        posix-15.4      : Build OpenThread POSIX - 15.4 radio"
49*cfb92d14SAndroid Build Coastguard Worker    echo "        posix-trel      : Build OpenThread POSIX - TREL radio "
50*cfb92d14SAndroid Build Coastguard Worker    echo "        posix-15.4+trel : Build OpenThread POSIX - multi radio (15.4+TREL)"
51*cfb92d14SAndroid Build Coastguard Worker    echo ""
52*cfb92d14SAndroid Build Coastguard Worker    echo "Options:"
53*cfb92d14SAndroid Build Coastguard Worker    echo "        -c/--enable-coverage      Enable code coverage"
54*cfb92d14SAndroid Build Coastguard Worker    echo "        -k/--enable-plat-key-ref  Enable OT_PLATFORM_KEY_REF"
55*cfb92d14SAndroid Build Coastguard Worker    echo ""
56*cfb92d14SAndroid Build Coastguard Worker}
57*cfb92d14SAndroid Build Coastguard Worker
58*cfb92d14SAndroid Build Coastguard Workerdie()
59*cfb92d14SAndroid Build Coastguard Worker{
60*cfb92d14SAndroid Build Coastguard Worker    echo " *** ERROR: " "$*"
61*cfb92d14SAndroid Build Coastguard Worker    exit 1
62*cfb92d14SAndroid Build Coastguard Worker}
63*cfb92d14SAndroid Build Coastguard Worker
64*cfb92d14SAndroid Build Coastguard Workercd "$(dirname "$0")" || die "cd failed"
65*cfb92d14SAndroid Build Coastguard Workercd ../.. || die "cd failed"
66*cfb92d14SAndroid Build Coastguard Worker
67*cfb92d14SAndroid Build Coastguard Workerot_coverage=OFF
68*cfb92d14SAndroid Build Coastguard Workerot_plat_key_ref=OFF
69*cfb92d14SAndroid Build Coastguard Worker
70*cfb92d14SAndroid Build Coastguard Workerwhile [ $# -ge 2 ]; do
71*cfb92d14SAndroid Build Coastguard Worker    case $1 in
72*cfb92d14SAndroid Build Coastguard Worker        -c | --enable-coverage)
73*cfb92d14SAndroid Build Coastguard Worker            ot_coverage=ON
74*cfb92d14SAndroid Build Coastguard Worker            shift
75*cfb92d14SAndroid Build Coastguard Worker            ;;
76*cfb92d14SAndroid Build Coastguard Worker        -t | --enable-tests)
77*cfb92d14SAndroid Build Coastguard Worker            shift
78*cfb92d14SAndroid Build Coastguard Worker            ;;
79*cfb92d14SAndroid Build Coastguard Worker        -k | --enable-plat-key-ref)
80*cfb92d14SAndroid Build Coastguard Worker            ot_plat_key_ref=ON
81*cfb92d14SAndroid Build Coastguard Worker            shift
82*cfb92d14SAndroid Build Coastguard Worker            ;;
83*cfb92d14SAndroid Build Coastguard Worker        "")
84*cfb92d14SAndroid Build Coastguard Worker            shift
85*cfb92d14SAndroid Build Coastguard Worker            ;;
86*cfb92d14SAndroid Build Coastguard Worker        *)
87*cfb92d14SAndroid Build Coastguard Worker            echo "Error: Unknown option \"$1\""
88*cfb92d14SAndroid Build Coastguard Worker            display_usage
89*cfb92d14SAndroid Build Coastguard Worker            exit 1
90*cfb92d14SAndroid Build Coastguard Worker            ;;
91*cfb92d14SAndroid Build Coastguard Worker    esac
92*cfb92d14SAndroid Build Coastguard Workerdone
93*cfb92d14SAndroid Build Coastguard Worker
94*cfb92d14SAndroid Build Coastguard Workerif [ "$#" -ne 1 ]; then
95*cfb92d14SAndroid Build Coastguard Worker    display_usage
96*cfb92d14SAndroid Build Coastguard Worker    exit 1
97*cfb92d14SAndroid Build Coastguard Workerfi
98*cfb92d14SAndroid Build Coastguard Worker
99*cfb92d14SAndroid Build Coastguard Workerbuild_config=$1
100*cfb92d14SAndroid Build Coastguard Worker
101*cfb92d14SAndroid Build Coastguard Workerif [ -n "${top_builddir}" ]; then
102*cfb92d14SAndroid Build Coastguard Worker    top_srcdir=$(pwd)
103*cfb92d14SAndroid Build Coastguard Worker    mkdir -p "${top_builddir}"
104*cfb92d14SAndroid Build Coastguard Workerelse
105*cfb92d14SAndroid Build Coastguard Worker    top_srcdir=.
106*cfb92d14SAndroid Build Coastguard Worker    top_builddir=.
107*cfb92d14SAndroid Build Coastguard Workerfi
108*cfb92d14SAndroid Build Coastguard Worker
109*cfb92d14SAndroid Build Coastguard Workercase ${build_config} in
110*cfb92d14SAndroid Build Coastguard Worker    ncp | ncp-)
111*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
112*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread NCP with simulation platform (radios determined by config)"
113*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
114*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
115*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=simulation -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
116*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=OFF -DOT_APP_NCP=ON -DOT_APP_RCP=OFF \
117*cfb92d14SAndroid Build Coastguard Worker            -DOT_OPERATIONAL_DATASET_AUTO_INIT=ON -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
118*cfb92d14SAndroid Build Coastguard Worker            -DOT_BORDER_ROUTING=OFF \
119*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-simulation.h \
120*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
121*cfb92d14SAndroid Build Coastguard Worker        ninja || die
122*cfb92d14SAndroid Build Coastguard Worker        ;;
123*cfb92d14SAndroid Build Coastguard Worker
124*cfb92d14SAndroid Build Coastguard Worker    ncp-15.4)
125*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
126*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread NCP with simulation platform - 15.4 radio"
127*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
128*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
129*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=simulation -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
130*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=OFF -DOT_APP_NCP=ON -DOT_APP_RCP=OFF \
131*cfb92d14SAndroid Build Coastguard Worker            -DOT_15_4=ON -DOT_TREL=OFF -DOT_OPERATIONAL_DATASET_AUTO_INIT=ON \
132*cfb92d14SAndroid Build Coastguard Worker            -DOT_BORDER_ROUTING=OFF \
133*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
134*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-simulation.h \
135*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
136*cfb92d14SAndroid Build Coastguard Worker        ninja || die
137*cfb92d14SAndroid Build Coastguard Worker        cp -p ${top_builddir}/examples/apps/ncp/ot-ncp-ftd ${top_builddir}/examples/apps/ncp/ot-ncp-ftd-15.4
138*cfb92d14SAndroid Build Coastguard Worker        ;;
139*cfb92d14SAndroid Build Coastguard Worker
140*cfb92d14SAndroid Build Coastguard Worker    ncp-trel)
141*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
142*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread NCP with simulation platform - TREL radio"
143*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
144*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
145*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=simulation -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
146*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=OFF -DOT_APP_NCP=ON -DOT_APP_RCP=OFF \
147*cfb92d14SAndroid Build Coastguard Worker            -DOT_15_4=OFF -DOT_TREL=ON -DOT_OPERATIONAL_DATASET_AUTO_INIT=ON \
148*cfb92d14SAndroid Build Coastguard Worker            -DOT_BORDER_ROUTING=OFF \
149*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
150*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-simulation.h \
151*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
152*cfb92d14SAndroid Build Coastguard Worker        ninja || die
153*cfb92d14SAndroid Build Coastguard Worker        cp -p ${top_builddir}/examples/apps/ncp/ot-ncp-ftd ${top_builddir}/examples/apps/ncp/ot-ncp-ftd-trel
154*cfb92d14SAndroid Build Coastguard Worker        ;;
155*cfb92d14SAndroid Build Coastguard Worker
156*cfb92d14SAndroid Build Coastguard Worker    ncp-15.4+trel | ncp-trel+15.4)
157*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
158*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread NCP with simulation platform - multi radio (15.4 + TREL)"
159*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
160*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
161*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=simulation -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
162*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=OFF -DOT_APP_NCP=ON -DOT_APP_RCP=OFF \
163*cfb92d14SAndroid Build Coastguard Worker            -DOT_15_4=ON -DOT_TREL=ON -DOT_OPERATIONAL_DATASET_AUTO_INIT=ON \
164*cfb92d14SAndroid Build Coastguard Worker            -DOT_BORDER_ROUTING=OFF \
165*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
166*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-simulation.h \
167*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
168*cfb92d14SAndroid Build Coastguard Worker        ninja || die
169*cfb92d14SAndroid Build Coastguard Worker        cp -p ${top_builddir}/examples/apps/ncp/ot-ncp-ftd ${top_builddir}/examples/apps/ncp/ot-ncp-ftd-15.4-trel
170*cfb92d14SAndroid Build Coastguard Worker        ;;
171*cfb92d14SAndroid Build Coastguard Worker
172*cfb92d14SAndroid Build Coastguard Worker    cli | cli-)
173*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
174*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread CLI with simulation platform (radios determined by config)"
175*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
176*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
177*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=simulation -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
178*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=ON -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF \
179*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
180*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-simulation.h \
181*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
182*cfb92d14SAndroid Build Coastguard Worker        ninja || die
183*cfb92d14SAndroid Build Coastguard Worker        ;;
184*cfb92d14SAndroid Build Coastguard Worker
185*cfb92d14SAndroid Build Coastguard Worker    cli-15.4)
186*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
187*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread CLI with simulation platform - 15.4 radio"
188*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
189*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
190*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=simulation -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
191*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=ON -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF \
192*cfb92d14SAndroid Build Coastguard Worker            -DOT_15_4=ON -DOT_TREL=OFF \
193*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
194*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-simulation.h \
195*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
196*cfb92d14SAndroid Build Coastguard Worker        ninja || die
197*cfb92d14SAndroid Build Coastguard Worker        cp -p ${top_builddir}/examples/apps/cli/ot-cli-ftd ${top_builddir}/examples/apps/cli/ot-cli-ftd-15.4
198*cfb92d14SAndroid Build Coastguard Worker        ;;
199*cfb92d14SAndroid Build Coastguard Worker
200*cfb92d14SAndroid Build Coastguard Worker    cli-trel)
201*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
202*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread CLI with simulation platform - TREL radio"
203*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
204*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
205*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=simulation -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
206*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=ON -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF \
207*cfb92d14SAndroid Build Coastguard Worker            -DOT_15_4=OFF -DOT_TREL=ON \
208*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
209*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-simulation.h \
210*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
211*cfb92d14SAndroid Build Coastguard Worker        ninja || die
212*cfb92d14SAndroid Build Coastguard Worker        cp -p ${top_builddir}/examples/apps/cli/ot-cli-ftd ${top_builddir}/examples/apps/cli/ot-cli-ftd-trel
213*cfb92d14SAndroid Build Coastguard Worker        ;;
214*cfb92d14SAndroid Build Coastguard Worker
215*cfb92d14SAndroid Build Coastguard Worker    cli-15.4+trel | cli-trel+15.4)
216*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
217*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread NCP with simulation platform - multi radio (15.4 + TREL)"
218*cfb92d14SAndroid Build Coastguard Worker        echo "==================================================================================================="
219*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
220*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=simulation -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
221*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=ON -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF \
222*cfb92d14SAndroid Build Coastguard Worker            -DOT_15_4=ON -DOT_TREL=ON \
223*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
224*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-simulation.h \
225*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
226*cfb92d14SAndroid Build Coastguard Worker        ninja || die
227*cfb92d14SAndroid Build Coastguard Worker        cp -p ${top_builddir}/examples/apps/cli/ot-cli-ftd ${top_builddir}/examples/apps/cli/ot-cli-ftd-15.4-trel
228*cfb92d14SAndroid Build Coastguard Worker        ;;
229*cfb92d14SAndroid Build Coastguard Worker
230*cfb92d14SAndroid Build Coastguard Worker    rcp)
231*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
232*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread RCP (NCP in radio mode) with simulation platform"
233*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
234*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
235*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=simulation -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
236*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=ON \
237*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
238*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-simulation.h \
239*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
240*cfb92d14SAndroid Build Coastguard Worker        ninja || die
241*cfb92d14SAndroid Build Coastguard Worker        ;;
242*cfb92d14SAndroid Build Coastguard Worker
243*cfb92d14SAndroid Build Coastguard Worker    posix | posix- | cmake-posix-host | cmake-posix | cmake-p)
244*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
245*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread POSIX (radios determined by config)"
246*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
247*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
248*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=posix -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
249*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=ON -DOT_APP_NCP=ON -DOT_APP_RCP=OFF \
250*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
251*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-posix.h \
252*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
253*cfb92d14SAndroid Build Coastguard Worker        ninja || die
254*cfb92d14SAndroid Build Coastguard Worker        ;;
255*cfb92d14SAndroid Build Coastguard Worker
256*cfb92d14SAndroid Build Coastguard Worker    posix-15.4)
257*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
258*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread POSIX - 15.4 radio"
259*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
260*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
261*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=posix -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
262*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=ON -DOT_APP_NCP=ON -DOT_APP_RCP=OFF \
263*cfb92d14SAndroid Build Coastguard Worker            -DOT_15_4=ON -DOT_TREL=OFF \
264*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
265*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-posix.h \
266*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
267*cfb92d14SAndroid Build Coastguard Worker        ninja || die
268*cfb92d14SAndroid Build Coastguard Worker        ;;
269*cfb92d14SAndroid Build Coastguard Worker
270*cfb92d14SAndroid Build Coastguard Worker    posix-trel)
271*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
272*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread POSIX - TREL radio"
273*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
274*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
275*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=posix -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
276*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=ON -DOT_APP_NCP=ON -DOT_APP_RCP=OFF \
277*cfb92d14SAndroid Build Coastguard Worker            -DOT_15_4=OFF -DOT_TREL=ON \
278*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
279*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-posix.h \
280*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
281*cfb92d14SAndroid Build Coastguard Worker        ninja || die
282*cfb92d14SAndroid Build Coastguard Worker        ;;
283*cfb92d14SAndroid Build Coastguard Worker
284*cfb92d14SAndroid Build Coastguard Worker    posix-trel+15.4 | posix-15.4+trel)
285*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
286*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread POSIX - multi radio link (15.4 + TREL)"
287*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
288*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
289*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=posix -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
290*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=ON -DOT_APP_NCP=ON -DOT_APP_RCP=OFF \
291*cfb92d14SAndroid Build Coastguard Worker            -DOT_15_4=ON -DOT_TREL=ON \
292*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
293*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-posix.h \
294*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
295*cfb92d14SAndroid Build Coastguard Worker        ninja || die
296*cfb92d14SAndroid Build Coastguard Worker        ;;
297*cfb92d14SAndroid Build Coastguard Worker
298*cfb92d14SAndroid Build Coastguard Worker    all | cmake)
299*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
300*cfb92d14SAndroid Build Coastguard Worker        echo "Building OpenThread (NCP/CLI for FTD/MTD/RCP mode) with simulation platform using cmake"
301*cfb92d14SAndroid Build Coastguard Worker        echo "===================================================================================================="
302*cfb92d14SAndroid Build Coastguard Worker        cd "${top_builddir}" || die "cd failed"
303*cfb92d14SAndroid Build Coastguard Worker        cmake -GNinja -DOT_PLATFORM=simulation -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_COVERAGE=${ot_coverage} \
304*cfb92d14SAndroid Build Coastguard Worker            -DOT_THREAD_VERSION=1.4 -DOT_APP_CLI=ON -DOT_APP_NCP=ON -DOT_APP_RCP=ON \
305*cfb92d14SAndroid Build Coastguard Worker            -DOT_PLATFORM_KEY_REF=${ot_plat_key_ref} \
306*cfb92d14SAndroid Build Coastguard Worker            -DOT_PROJECT_CONFIG=../tests/toranj/openthread-core-toranj-config-simulation.h \
307*cfb92d14SAndroid Build Coastguard Worker            "${top_srcdir}" || die
308*cfb92d14SAndroid Build Coastguard Worker        ninja || die
309*cfb92d14SAndroid Build Coastguard Worker        ;;
310*cfb92d14SAndroid Build Coastguard Worker
311*cfb92d14SAndroid Build Coastguard Worker    *)
312*cfb92d14SAndroid Build Coastguard Worker        echo "Error: Unknown configuration \"$1\""
313*cfb92d14SAndroid Build Coastguard Worker        display_usage
314*cfb92d14SAndroid Build Coastguard Worker        exit 1
315*cfb92d14SAndroid Build Coastguard Worker        ;;
316*cfb92d14SAndroid Build Coastguard Workeresac
317*cfb92d14SAndroid Build Coastguard Worker
318*cfb92d14SAndroid Build Coastguard Workerexit 0
319