From a638442df81981dd0ad8cce85c1d493d4c594441 Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Wed, 5 Sep 2018 00:35:52 -0700 Subject: [PATCH] [configure] separate example apps and ftd/mtd/radio in build config (#3010) --- Makefile.am | 9 +- configure.ac | 505 +++++++++++++++++----------------- examples/Makefile-cc1352 | 9 +- examples/Makefile-cc2538 | 11 +- examples/Makefile-cc2650 | 8 +- examples/Makefile-cc2652 | 9 +- examples/Makefile-da15000 | 9 +- examples/Makefile-efr32 | 11 +- examples/Makefile-emsk | 9 +- examples/Makefile-gp712 | 4 +- examples/Makefile-kw41z | 11 +- examples/Makefile-nrf52840 | 9 +- examples/Makefile-posix | 9 +- examples/Makefile-samr21 | 11 +- examples/Makefile.am | 2 +- examples/apps/cli/Makefile.am | 4 +- examples/apps/ncp/Makefile.am | 6 +- src/core/Makefile.am | 18 +- src/posix/Makefile-posix | 5 +- src/posix/Makefile.am | 4 +- tests/toranj/start.sh | 5 +- 21 files changed, 364 insertions(+), 304 deletions(-) diff --git a/Makefile.am b/Makefile.am index a15b3bf3d..447d096c6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -34,18 +34,21 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \ --enable-address-sanitizer \ --enable-application-coap \ --enable-border-router \ - --enable-cli-app=all \ + --enable-cli \ --enable-commissioner \ --enable-dhcp6-client \ --enable-dhcp6-server \ --enable-diag \ --enable-dns-client \ + --enable-ftd \ --enable-joiner \ --enable-mac-filter \ - --enable-ncp-app=all \ + --enable-mtd \ + --enable-ncp \ + --with-ncp-bus=uart \ + --enable-radio-only \ --enable-service \ --with-examples=posix \ - --with-ncp-bus=uart \ $(NULL) SUBDIRS = \ diff --git a/configure.ac b/configure.ac index 9fca7104e..011147c48 100644 --- a/configure.ac +++ b/configure.ac @@ -373,230 +373,6 @@ NL_ENABLE_TESTS([yes]) AM_CONDITIONAL([OPENTHREAD_BUILD_TESTS], [test "${nl_cv_build_tests}" = "yes"]) -# -# Posix App -# - -AC_ARG_ENABLE( - [posix-app], - [AS_HELP_STRING([--enable-posix-app],[Enable POSIX app(no|ncp|cli|all) @<:@default=no@:>@.])], - [ - case "${enableval}" in - all|both|yes) - enable_posix_app=yes - OPENTHREAD_ENABLE_POSIX_APP=1 - OPENTHREAD_ENABLE_POSIX_APP_NCP=1 - OPENTHREAD_ENABLE_POSIX_APP_CLI=1 - ;; - no) - enable_posix_app=no - OPENTHREAD_ENABLE_POSIX_APP=0 - OPENTHREAD_ENABLE_POSIX_APP_NCP=0 - OPENTHREAD_ENABLE_POSIX_APP_CLI=0 - ;; - ncp) - enable_posix_app=yes - OPENTHREAD_ENABLE_POSIX_APP=1 - OPENTHREAD_ENABLE_POSIX_APP_NCP=1 - OPENTHREAD_ENABLE_POSIX_APP_CLI=0 - ;; - cli) - enable_posix_app=yes - OPENTHREAD_ENABLE_POSIX_APP=1 - OPENTHREAD_ENABLE_POSIX_APP_NCP=0 - OPENTHREAD_ENABLE_POSIX_APP_CLI=1 - ;; - *) - AC_MSG_ERROR([Invalid value ${enableval} for --enable-posix-app]) - ;; - esac - ], - [ - enable_posix_app=no - OPENTHREAD_ENABLE_POSIX_APP=0 - OPENTHREAD_ENABLE_POSIX_APP_NCP=0 - OPENTHREAD_ENABLE_POSIX_APP_CLI=0]) - -AC_MSG_CHECKING([posix-app]) -AC_MSG_RESULT(${enable_posix_app}) -AM_CONDITIONAL([OPENTHREAD_ENABLE_POSIX_APP], [test "${OPENTHREAD_ENABLE_POSIX_APP}" == "1"]) -AM_CONDITIONAL([OPENTHREAD_ENABLE_POSIX_APP_NCP], [test "${OPENTHREAD_ENABLE_POSIX_APP_NCP}" == "1"]) -AM_CONDITIONAL([OPENTHREAD_ENABLE_POSIX_APP_CLI], [test "${OPENTHREAD_ENABLE_POSIX_APP_CLI}" == "1"]) -AC_SUBST(OPENTHREAD_ENABLE_POSIX_APP) -AC_SUBST(OPENTHREAD_ENABLE_POSIX_APP_NCP) -AC_SUBST(OPENTHREAD_ENABLE_POSIX_APP_CLI) - -# -# CLI Library -# -AC_ARG_ENABLE(cli-app, - [AS_HELP_STRING([--enable-cli-app],[Enable CLI support (no|mtd|ftd|all) @<:@default=no@:>@.])], - [ - case "${enableval}" in - all|both) - enable_cli_app=yes - enable_cli_app_mtd=yes - enable_cli_app_ftd=yes - ;; - no|yes) - enable_cli_app=${enableval} - enable_cli_app_mtd=${enableval} - enable_cli_app_ftd=${enableval} - ;; - mtd) - enable_cli_app=yes - enable_cli_app_mtd=yes - enable_cli_app_ftd=no - ;; - ftd) - enable_cli_app=yes - enable_cli_app_mtd=no - enable_cli_app_ftd=yes - ;; - *) - AC_MSG_ERROR([Invalid value ${enableval} for --enable-cli-app]) - ;; - esac - ], - [ - enable_cli_app=no - enable_cli_app_mtd=no - enable_cli_app_ftd=no]) - - -AC_MSG_CHECKING([cli-app modes]) -AC_MSG_RESULT(${enable_cli_app}) -AM_CONDITIONAL([OPENTHREAD_ENABLE_CLI], [test "${enable_cli_app}" == "yes" -o "${OPENTHREAD_ENABLE_POSIX_APP_CLI}" == "1"]) -AM_CONDITIONAL([OPENTHREAD_ENABLE_CLI_MTD], [test "${enable_cli_app_mtd}" == "yes"]) -AM_CONDITIONAL([OPENTHREAD_ENABLE_CLI_FTD], [test "${enable_cli_app_ftd}" == "yes" -o "${OPENTHREAD_ENABLE_POSIX_APP_CLI}" == "1"]) -AC_SUBST(OPENTHREAD_ENABLE_CLI) -AC_SUBST(OPENTHREAD_ENABLE_CLI_FTD) -AC_SUBST(OPENTHREAD_ENABLE_CLI_MTD) - - -# -# NCP app -# -AC_ARG_ENABLE(ncp-app, - [AS_HELP_STRING([--enable-ncp-app],[Enable NCP support (no|mtd|ftd|radio|all) @<:@default=no@:>@.])], - [ - # Map all & both to yes - case "${enableval}" in - all) - enableval=yes - ;; - - *) - ;; - - esac - - case "${enableval}" in - - no|yes) - enable_ncp_app=${enableval} - enable_ncp_app_mtd=${enableval} - enable_ncp_app_ftd=${enableval} - enable_ncp_app_radio=${enableval} - ;; - - mtd) - enable_ncp_app=yes - enable_ncp_app_mtd=yes - enable_ncp_app_ftd=no - enable_ncp_app_radio=no - ;; - - ftd) - enable_ncp_app=yes - enable_ncp_app_mtd=no - enable_ncp_app_ftd=yes - enable_ncp_app_radio=no - ;; - - radio) - enable_ncp_app=yes - enable_ncp_app_mtd=no - enable_ncp_app_ftd=no - enable_ncp_app_radio=yes - ;; - - *) - AC_MSG_ERROR([Invalid value ${enableval} for --enable-ncp-app]) - ;; - esac - ], - [ - enable_ncp_app=no - enable_ncp_app_ftd=no - enable_ncp_app_mtd=no - enable_ncp_app_radio=no - ] - ) - - -AC_MSG_CHECKING([ncp-app modes]) -AC_MSG_RESULT(${enable_ncp_app}) -AC_MSG_CHECKING([should NCP support ftd]) -AC_MSG_RESULT(${enable_ncp_app_ftd}) -AC_MSG_CHECKING([should NCP support mtd]) -AC_MSG_RESULT(${enable_ncp_app_mtd}) -AC_MSG_CHECKING([should NCP support radio-only]) -AC_MSG_RESULT(${enable_ncp_app_radio}) - -AC_SUBST(OPENTHREAD_ENABLE_NCP) -AC_SUBST(OPENTHREAD_ENABLE_NCP_MTD) -AC_SUBST(OPENTHREAD_ENABLE_NCP_FTD) -AC_SUBST(OPENTHREAD_ENABLE_NCP_RADIO) - -AM_CONDITIONAL([OPENTHREAD_ENABLE_NCP], [test "${enable_ncp_app}" == "yes" -o "${OPENTHREAD_ENABLE_POSIX_APP_NCP}" == "1"]) -AM_CONDITIONAL([OPENTHREAD_ENABLE_NCP_MTD], [test "${enable_ncp_app_mtd}" == "yes"]) -AM_CONDITIONAL([OPENTHREAD_ENABLE_NCP_FTD], [test "${enable_ncp_app_ftd}" == "yes" -o "${OPENTHREAD_ENABLE_POSIX_APP_NCP}" == "1"]) -AM_CONDITIONAL([OPENTHREAD_ENABLE_NCP_RADIO], [test "${enable_ncp_app_radio}" == "yes"]) - -# -# NCP BUS - how does the NCP talk to the host? -# - -AC_ARG_WITH( - [ncp-bus], - [AS_HELP_STRING([--with-ncp-bus],[Specify the NCP bus (none|spi|uart) @<:@default=none@:>@.])], - [ - case "${with_ncp_bus}" in - "none") - OPENTHREAD_ENABLE_NCP_SPI=0 - OPENTHREAD_ENABLE_NCP_UART=0 - ;; - "spi") - OPENTHREAD_ENABLE_NCP_SPI=1 - OPENTHREAD_ENABLE_NCP_UART=0 - ;; - "uart") - OPENTHREAD_ENABLE_NCP_SPI=0 - OPENTHREAD_ENABLE_NCP_UART=1 - ;; - *) - AC_MSG_ERROR([unexpected --with-ncp-bus=${with_ncp_bus}]) - ;; - esac - ], - [ - OPENTHREAD_ENABLE_NCP_SPI=0 - OPENTHREAD_ENABLE_NCP_UART=0 - ]) - -AC_SUBST(OPENTHREAD_ENABLE_NCP_SPI) -AM_CONDITIONAL([OPENTHREAD_ENABLE_NCP_SPI], [test "${with_ncp_bus}" = "spi"]) -AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_NCP_SPI],[${OPENTHREAD_ENABLE_NCP_SPI}],[Define to 1 to enable the NCP SPI interface.]) -AC_MSG_CHECKING([should NCP support SPI]) -AC_MSG_RESULT([${OPENTHREAD_ENABLE_SPI}]) - -AC_SUBST(OPENTHREAD_ENABLE_NCP_UART) -AM_CONDITIONAL([OPENTHREAD_ENABLE_NCP_UART], [test "${with_ncp_bus}" = "uart"]) -AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_NCP_UART],[${OPENTHREAD_ENABLE_NCP_UART}],[Define to 1 to enable the NCP UART interface.]) -AC_MSG_CHECKING([should NCP support UART]) -AC_MSG_RESULT([${OPENTHREAD_ENABLE_UART}]) - # # Multiple OpenThread Instances # @@ -657,6 +433,241 @@ AC_MSG_CHECKING([whether mbed TLS should be enabled]) AC_MSG_RESULT(${enable_builtin_mbedtls}) AM_CONDITIONAL([OPENTHREAD_ENABLE_BUILTIN_MBEDTLS], [test "${enable_builtin_mbedtls}" = "yes"]) +# +# POSIX Application +# + +AC_MSG_CHECKING([whether to build POSIX applicaton]) +AC_ARG_ENABLE(posix-app, + [AS_HELP_STRING([--enable-posix-app], [Build POSIX application <:@default=no@:>@.])], + [ + case "${enableval}" in + + no|yes) + enable_posix_app=${enableval} + ;; + + *) + AC_MSG_ERROR([Invalid value ${enable_posix_app} for --enable-posix-app]) + ;; + esac + ], + [enable_posix_app=no]) + +if test "$enable_posix_app" = "yes"; then + OPENTHREAD_ENABLE_POSIX_APP=1 +else + OPENTHREAD_ENABLE_POSIX_APP=0 +fi + +AC_MSG_RESULT(${enable_posix_app}) +AC_SUBST(OPENTHREAD_ENABLE_POSIX_APP) +AM_CONDITIONAL([OPENTHREAD_ENABLE_POSIX_APP], [test "${enable_posix_app}" = "yes"]) +AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_POSIX_APP], [${OPENTHREAD_ENABLE_POSIX_APP}], [Define to 1 to build posix application.]) + +# +# FTD Library +# + +AC_MSG_CHECKING([whether to build FTD library]) +AC_ARG_ENABLE(ftd, + [AS_HELP_STRING([--enable-ftd], [Build FTD library @<:@default=no@:>@.])], + [ + case "${enableval}" in + + no|yes) + enable_ftd=${enableval} + ;; + + *) + AC_MSG_ERROR([Invalid value ${enable_ftd} for --enable-ftd]) + ;; + esac + ], + [enable_ftd=no]) + +if test "$enable_ftd" = "yes"; then + OPENTHREAD_ENABLE_FTD=1 +else + OPENTHREAD_ENABLE_FTD=0 +fi + +AC_MSG_RESULT(${enable_ftd}) +AC_SUBST(OPENTHREAD_ENABLE_FTD) +AM_CONDITIONAL([OPENTHREAD_ENABLE_FTD], [test "${enable_ftd}" = "yes"]) +AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_FTD], [${OPENTHREAD_ENABLE_FTD}], [Define to 1 to build FTD library.]) + +# +# MTD Library +# + +AC_MSG_CHECKING([whether to build MTD library]) +AC_ARG_ENABLE(mtd, + [AS_HELP_STRING([--enable-mtd], [Build MTD library @<:@default=no@:>@.])], + [ + case "${enableval}" in + + no|yes) + enable_mtd=${enableval} + ;; + + *) + AC_MSG_ERROR([Invalid value ${enable_mtd} for --enable-mtd]) + ;; + esac + ], + [enable_mtd=no]) + +if test "$enable_mtd" = "yes"; then + OPENTHREAD_ENABLE_MTD=1 +else + OPENTHREAD_ENABLE_MTD=0 +fi + +AC_MSG_RESULT(${enable_mtd}) +AC_SUBST(OPENTHREAD_ENABLE_MTD) +AM_CONDITIONAL([OPENTHREAD_ENABLE_MTD], [test "${enable_mtd}" = "yes"]) +AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_MTD], [${OPENTHREAD_ENABLE_MTD}], [Define to 1 to build MTD library.]) + +# +# Radio Library +# + +AC_MSG_CHECKING([whether to build radio-only library]) +AC_ARG_ENABLE(radio-only, + [AS_HELP_STRING([--enable-radio-only], [Build radio-only library @<:@default=no@:>@.])], + [ + case "${enableval}" in + + no|yes) + enable_radio_only=${enableval} + ;; + + *) + AC_MSG_ERROR([Invalid value ${enable_radio_only} for --enable-radio-only]) + ;; + esac + ], + [enable_radio_only=no]) + +if test "$enable_radio_only" = "yes"; then + OPENTHREAD_ENABLE_RADIO_ONLY=1 +else + OPENTHREAD_ENABLE_RADIO_ONLY=0 +fi + +AC_MSG_RESULT(${enable_radio_only}) +AC_SUBST(OPENTHREAD_ENABLE_RADIO_ONLY) +AM_CONDITIONAL([OPENTHREAD_ENABLE_RADIO_ONLY], [test "${enable_radio_only}" = "yes"]) +AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_RADIO_ONLY], [${OPENTHREAD_ENABLE_RADIO_ONLY}], [Define to 1 to build radio-only library.]) + +# +# CLI Library +# + +AC_MSG_CHECKING([whether to build CLI library]) +AC_ARG_ENABLE(cli, + [AS_HELP_STRING([--enable-cli], [Build CLI library @<:@default=no@:>@.])], + [ + case "${enableval}" in + + no|yes) + enable_cli=${enableval} + ;; + + *) + AC_MSG_ERROR([Invalid value ${enable_cli} for --enable-cli]) + ;; + esac + ], + [enable_cli=no]) + +if test "$enable_cli" = "yes"; then + OPENTHREAD_ENABLE_CLI=1 +else + OPENTHREAD_ENABLE_CLI=0 +fi + +AC_MSG_RESULT(${enable_cli}) +AC_SUBST(OPENTHREAD_ENABLE_CLI) +AM_CONDITIONAL([OPENTHREAD_ENABLE_CLI], [test "${enable_cli}" = "yes"]) +AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_CLI], [${OPENTHREAD_ENABLE_CLI}], [Define to 1 to build CLI library.]) + +# +# NCP Library +# + +AC_MSG_CHECKING([whether to build NCP library]) +AC_ARG_ENABLE(ncp, + [AS_HELP_STRING([--enable-ncp], [Build NCP library @<:@default=no@:>@.])], + [ + case "${enableval}" in + + no|yes) + enable_ncp=${enableval} + ;; + + *) + AC_MSG_ERROR([Invalid value ${enable_ncp} for --enable-ncp]) + ;; + esac + ], + [enable_ncp=no]) + +if test "$enable_ncp" = "yes"; then + OPENTHREAD_ENABLE_NCP=1 +else + OPENTHREAD_ENABLE_NCP=0 +fi + +AC_MSG_RESULT(${enable_ncp}) +AC_SUBST(OPENTHREAD_ENABLE_NCP) +AM_CONDITIONAL([OPENTHREAD_ENABLE_NCP], [test "${enable_ncp}" = "yes"]) +AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_NCP], [${OPENTHREAD_ENABLE_NCP}], [Define to 1 to build NCP library.]) + +# +# NCP BUS - how does the NCP talk to the host? +# + +AC_ARG_WITH( + [ncp-bus], + [AS_HELP_STRING([--with-ncp-bus],[Specify the NCP bus (none|spi|uart) @<:@default=none@:>@.])], + [ + case "${with_ncp_bus}" in + "none") + OPENTHREAD_ENABLE_NCP_SPI=0 + OPENTHREAD_ENABLE_NCP_UART=0 + ;; + "spi") + OPENTHREAD_ENABLE_NCP_SPI=1 + OPENTHREAD_ENABLE_NCP_UART=0 + ;; + "uart") + OPENTHREAD_ENABLE_NCP_SPI=0 + OPENTHREAD_ENABLE_NCP_UART=1 + ;; + *) + AC_MSG_ERROR([unexpected --with-ncp-bus=${with_ncp_bus}]) + ;; + esac + ], + [ + OPENTHREAD_ENABLE_NCP_SPI=0 + OPENTHREAD_ENABLE_NCP_UART=0 + ]) + +AC_SUBST(OPENTHREAD_ENABLE_NCP_SPI) +AM_CONDITIONAL([OPENTHREAD_ENABLE_NCP_SPI], [test "${with_ncp_bus}" = "spi"]) +AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_NCP_SPI],[${OPENTHREAD_ENABLE_NCP_SPI}],[Define to 1 to enable the NCP SPI interface.]) +AC_MSG_CHECKING([should NCP support SPI]) +AC_MSG_RESULT([${OPENTHREAD_ENABLE_SPI}]) + +AC_SUBST(OPENTHREAD_ENABLE_NCP_UART) +AM_CONDITIONAL([OPENTHREAD_ENABLE_NCP_UART], [test "${with_ncp_bus}" = "uart"]) +AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_NCP_UART],[${OPENTHREAD_ENABLE_NCP_UART}],[Define to 1 to enable the NCP UART interface.]) +AC_MSG_CHECKING([should NCP support UART]) +AC_MSG_RESULT([${OPENTHREAD_ENABLE_UART}]) + # # Thread UDP Proxy # @@ -1415,7 +1426,7 @@ AC_ARG_WITH(examples, ], [with_examples=none]) -OPENTHREAD_EXAMPLES=${with_examples} +OPENTHREAD_ENABLE_EXAMPLES=${with_examples} case ${with_examples} in @@ -1484,45 +1495,45 @@ esac AC_MSG_CHECKING([whether to enable examples]) AC_MSG_RESULT(${OPENTHREAD_EXAMPLES}) -AC_SUBST(OPENTHREAD_EXAMPLES) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES], [test ${with_examples} != "none"]) -AC_DEFINE_UNQUOTED([OPENTHREAD_EXAMPLES],[${OPENTHREAD_EXAMPLES}],[OpenThread examples]) +AC_SUBST(OPENTHREAD_ENABLE_EXAMPLES) +AM_CONDITIONAL([OPENTHREAD_ENABLE_EXAMPLES], [test ${with_examples} != "none"]) +AC_DEFINE_UNQUOTED([OPENTHREAD_ENABLE_EXAMPLES],[${OPENTHREAD_ENABLE_EXAMPLES}],[OpenThread examples]) AC_SUBST(OPENTHREAD_EXAMPLES_POSIX) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_POSIX], [test "${OPENTHREAD_EXAMPLES}" = "posix"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_POSIX], [test "${with_examples}" = "posix"]) AC_SUBST(OPENTHREAD_EXAMPLES_CC1352) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_CC1352], [test "${OPENTHREAD_EXAMPLES}" = "cc1352"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_CC1352], [test "${with_examples}" = "cc1352"]) AC_SUBST(OPENTHREAD_EXAMPLES_CC2538) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_CC2538], [test "${OPENTHREAD_EXAMPLES}" = "cc2538"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_CC2538], [test "${with_examples}" = "cc2538"]) AC_SUBST(OPENTHREAD_EXAMPLES_CC2650) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_CC2650], [test "${OPENTHREAD_EXAMPLES}" = "cc2650"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_CC2650], [test "${with_examples}" = "cc2650"]) AC_SUBST(OPENTHREAD_EXAMPLES_CC2652) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_CC2652], [test "${OPENTHREAD_EXAMPLES}" = "cc2652"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_CC2652], [test "${with_examples}" = "cc2652"]) AC_SUBST(OPENTHREAD_EXAMPLES_DA15000) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_DA15000], [test "${OPENTHREAD_EXAMPLES}" = "da15000"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_DA15000], [test "${with_examples}" = "da15000"]) AC_SUBST(OPENTHREAD_EXAMPLES_EFR32) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_EFR32], [test "${OPENTHREAD_EXAMPLES}" = "efr32"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_EFR32], [test "${with_examples}" = "efr32"]) AC_SUBST(OPENTHREAD_EXAMPLES_EMSK) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_EMSK], [test "${OPENTHREAD_EXAMPLES}" = "emsk"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_EMSK], [test "${with_examples}" = "emsk"]) AC_SUBST(OPENTHREAD_EXAMPLES_GP712) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_GP712], [test "${OPENTHREAD_EXAMPLES}" = "gp712"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_GP712], [test "${with_examples}" = "gp712"]) AC_SUBST(OPENTHREAD_EXAMPLES_KW41Z) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_KW41Z], [test "${OPENTHREAD_EXAMPLES}" = "kw41z"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_KW41Z], [test "${with_examples}" = "kw41z"]) AC_SUBST(OPENTHREAD_EXAMPLES_NRF52840) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_NRF52840], [test "${OPENTHREAD_EXAMPLES}" = "nrf52840"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_NRF52840], [test "${with_examples}" = "nrf52840"]) AC_SUBST(OPENTHREAD_EXAMPLES_SAMR21) -AM_CONDITIONAL([OPENTHREAD_EXAMPLES_SAMR21], [test "${OPENTHREAD_EXAMPLES}" = "samr21"]) +AM_CONDITIONAL([OPENTHREAD_EXAMPLES_SAMR21], [test "${with_examples}" = "samr21"]) # # Tools @@ -1749,12 +1760,11 @@ AC_MSG_NOTICE([ Pretty args : ${PRETTY_ARGS:--} Pretty check : ${PRETTY_CHECK:--} Pretty check args : ${PRETTY_CHECK_ARGS:--} - OpenThread CLI support : ${enable_cli_app} - OpenThread CLI-MTD support : ${enable_cli_app_mtd} - OpenThread CLI-FTD support : ${enable_cli_app_ftd} - OpenThread NCP support : ${enable_ncp_app} - OpenThread NCP-MTD support : ${enable_ncp_app_mtd} - OpenThread NCP-FTD support : ${enable_ncp_app_ftd} + OpenThread FTD support : ${enable_ftd} + OpenThread MTD support : ${enable_mtd} + OpenThread Radio Only support : ${enable_radio_only} + OpenThread CLI support : ${enable_cli} + OpenThread NCP support : ${enable_ncp} OpenThread NCP-BUS Configuration : ${with_ncp_bus} OpenThread NCP Vendor Hook Source : ${with_ncp_vendor_hook_source} OpenThread NCP Spinel Encrypter : ${with_ncp_spinel_encrypter_libs} @@ -1781,6 +1791,7 @@ AC_MSG_NOTICE([ OpenThread Border Agent support : ${enable_border_agent} OpenThread Border Router support : ${enable_border_router} OpenThread Service support : ${enable_service} - OpenThread examples : ${OPENTHREAD_EXAMPLES} + OpenThread Examples : ${enable_examples} + OpenThread POSIX Application : ${enable_posix_app} ]) diff --git a/examples/Makefile-cc1352 b/examples/Makefile-cc1352 index 6ab371fc0..67c6b7708 100644 --- a/examples/Makefile-cc1352 +++ b/examples/Makefile-cc1352 @@ -42,10 +42,13 @@ OBJCOPY = arm-none-eabi-objcopy BuildJobs ?= 10 configure_OPTIONS = \ - --enable-cli-app=all \ - --enable-ncp-app=all \ - --with-ncp-bus=uart \ + --enable-cli \ --enable-diag \ + --enable-ftd \ + --enable-mtd \ + --enable-ncp \ + --with-ncp-bus=uart \ + --enable-radio-only \ --with-examples=cc1352 \ MBEDTLS_CPPFLAGS="$(CC1352_MBEDTLS_CPPFLAGS)" \ $(NULL) diff --git a/examples/Makefile-cc2538 b/examples/Makefile-cc2538 index b006045e8..6aa766f0f 100644 --- a/examples/Makefile-cc2538 +++ b/examples/Makefile-cc2538 @@ -42,12 +42,15 @@ OBJCOPY = arm-none-eabi-objcopy BuildJobs ?= 10 configure_OPTIONS = \ - --enable-cli-app=all \ - --enable-ncp-app=all \ - --with-ncp-bus=uart \ + --enable-cli \ --enable-diag \ - --with-examples=cc2538 \ + --enable-ftd \ + --enable-mtd \ + --enable-ncp \ + --with-ncp-bus=uart \ + --enable-radio-only \ --enable-linker-map \ + --with-examples=cc2538 \ $(NULL) TopSourceDir := $(dir $(shell readlink $(firstword $(MAKEFILE_LIST)))).. diff --git a/examples/Makefile-cc2650 b/examples/Makefile-cc2650 index d7d2aa346..a5146feed 100644 --- a/examples/Makefile-cc2650 +++ b/examples/Makefile-cc2650 @@ -42,11 +42,13 @@ OBJCOPY = arm-none-eabi-objcopy BuildJobs ?= 10 configure_OPTIONS = \ - --enable-cli-app=mtd \ - --enable-ncp-app=mtd \ + --enable-cli \ + --enable-mtd \ + --enable-ncp \ --with-ncp-bus=uart \ - --with-examples=cc2650 \ + --enable-radio-only \ --enable-linker-map \ + --with-examples=cc2650 \ MBEDTLS_CPPFLAGS="$(CC2650_MBEDTLS_CPPFLAGS)" \ $(NULL) diff --git a/examples/Makefile-cc2652 b/examples/Makefile-cc2652 index 970f2929d..353ea9053 100644 --- a/examples/Makefile-cc2652 +++ b/examples/Makefile-cc2652 @@ -42,10 +42,13 @@ OBJCOPY = arm-none-eabi-objcopy BuildJobs ?= 10 configure_OPTIONS = \ - --enable-cli-app=all \ - --enable-ncp-app=all \ - --with-ncp-bus=uart \ + --enable-cli \ --enable-diag \ + --enable-ftd \ + --enable-mtd \ + --enable-ncp \ + --with-ncp-bus=uart \ + --enable-radio-only \ --with-examples=cc2652 \ MBEDTLS_CPPFLAGS="$(CC2652_MBEDTLS_CPPFLAGS)" \ $(NULL) diff --git a/examples/Makefile-da15000 b/examples/Makefile-da15000 index 1bf7454ae..fbf29cdb9 100644 --- a/examples/Makefile-da15000 +++ b/examples/Makefile-da15000 @@ -42,11 +42,14 @@ OBJCOPY = arm-none-eabi-objcopy BuildJobs ?= 10 configure_OPTIONS = \ - --enable-cli-app=all \ - --enable-ncp-app=all \ + --enable-cli \ + --enable-ftd \ + --enable-mtd \ + --enable-ncp \ --with-ncp-bus=uart \ - --with-examples=da15000 \ + --enable-radio-only \ --enable-linker-map \ + --with-examples=da15000 \ MBEDTLS_CPPFLAGS="$(DA15000_MBEDTLS_CPPFLAGS)" \ $(NULL) diff --git a/examples/Makefile-efr32 b/examples/Makefile-efr32 index 7893fdb10..907750c1a 100644 --- a/examples/Makefile-efr32 +++ b/examples/Makefile-efr32 @@ -42,12 +42,15 @@ OBJCOPY = arm-none-eabi-objcopy BuildJobs ?= 10 configure_OPTIONS = \ - --enable-cli-app=all \ - --enable-ncp-app=all \ - --with-ncp-bus=uart \ + --enable-cli \ --enable-diag \ - --with-examples=efr32 \ + --enable-ftd \ + --enable-mtd \ + --enable-ncp \ + --with-ncp-bus=uart \ + --enable-radio-only \ --enable-linker-map \ + --with-examples=efr32 \ MBEDTLS_CPPFLAGS="$(EFR32_MBEDTLS_CPPFLAGS)" \ $(NULL) diff --git a/examples/Makefile-emsk b/examples/Makefile-emsk index a46b54f6a..38389ddf5 100644 --- a/examples/Makefile-emsk +++ b/examples/Makefile-emsk @@ -42,11 +42,14 @@ OBJCOPY = arc-elf32-objcopy BuildJobs ?= 10 configure_OPTIONS = \ - --enable-cli-app=all \ - --enable-ncp-app=all \ + --enable-cli \ + --enable-ftd \ + --enable-mtd \ + --enable-ncp \ --with-ncp-bus=uart \ - --with-examples=emsk \ + --enable-radio-only \ --enable-linker-map \ + --with-examples=emsk \ $(NULL) TopSourceDir := $(dir $(shell readlink $(firstword $(MAKEFILE_LIST)))).. diff --git a/examples/Makefile-gp712 b/examples/Makefile-gp712 index e0dc16643..f1e81a781 100644 --- a/examples/Makefile-gp712 +++ b/examples/Makefile-gp712 @@ -46,8 +46,10 @@ OBJCOPY = $(CROSS_COMPILE)objcopy BuildJobs ?= 9 configure_OPTIONS = \ - --enable-cli-app=ftd \ + --enable-cli \ --enable-diag \ + --enable-ftd \ + --enable-mtd \ --with-examples=$(PPREFIX) \ $(NULL) diff --git a/examples/Makefile-kw41z b/examples/Makefile-kw41z index 1c7022c09..006ebdf5b 100644 --- a/examples/Makefile-kw41z +++ b/examples/Makefile-kw41z @@ -42,12 +42,15 @@ OBJCOPY = arm-none-eabi-objcopy BuildJobs ?= 10 configure_OPTIONS = \ - --enable-cli-app=all \ - --enable-ncp-app=all \ - --with-ncp-bus=uart \ + --enable-cli \ --enable-diag \ - --with-examples=kw41z \ + --enable-ftd \ + --enable-mtd \ + --enable-ncp \ + --with-ncp-bus=uart \ + --enable-radio-only \ --enable-linker-map \ + --with-examples=kw41z \ $(NULL) TopSourceDir := $(dir $(shell readlink $(firstword $(MAKEFILE_LIST)))).. diff --git a/examples/Makefile-nrf52840 b/examples/Makefile-nrf52840 index 6dca8a8d7..e4c31c10c 100644 --- a/examples/Makefile-nrf52840 +++ b/examples/Makefile-nrf52840 @@ -43,11 +43,14 @@ BuildJobs ?= 10 GCCVersion = $(shell expr `$(CC) -dumpversion | cut -f1 -d.`) configure_OPTIONS = \ - --enable-cli-app=all \ - --enable-ncp-app=all \ + --enable-cli \ --enable-diag \ - --with-examples=nrf52840 \ + --enable-ftd \ + --enable-mtd \ + --enable-ncp \ + --enable-radio-only \ --enable-linker-map \ + --with-examples=nrf52840 \ MBEDTLS_CPPFLAGS="$(NRF52840_MBEDTLS_CPPFLAGS)" \ $(NULL) diff --git a/examples/Makefile-posix b/examples/Makefile-posix index 5436ea83b..3f81e8d35 100644 --- a/examples/Makefile-posix +++ b/examples/Makefile-posix @@ -50,23 +50,26 @@ configure_OPTIONS = \ --enable-border-router \ --enable-cert-log \ --enable-child-supervision \ - --enable-cli-app=all \ + --enable-cli \ --enable-commissioner \ --enable-dhcp6-client \ --enable-dhcp6-server \ --enable-diag \ --enable-dns-client \ + --enable-ftd \ --enable-jam-detection \ --enable-joiner \ --enable-legacy \ --enable-mac-filter \ + --enable-mtd \ --enable-mtd-network-diagnostic \ - --enable-ncp-app=all \ + --enable-ncp \ + --with-ncp-bus=uart \ + --enable-radio-only \ --enable-raw-link-api \ --enable-service \ --enable-udp-proxy \ --with-examples=posix \ - --with-ncp-bus=uart \ $(NULL) TopSourceDir := $(dir $(shell readlink $(firstword $(MAKEFILE_LIST)))).. diff --git a/examples/Makefile-samr21 b/examples/Makefile-samr21 index 763e73dde..f9c935231 100644 --- a/examples/Makefile-samr21 +++ b/examples/Makefile-samr21 @@ -42,12 +42,15 @@ OBJCOPY = arm-none-eabi-objcopy BuildJobs ?= 10 configure_OPTIONS = \ - --enable-cli-app=all \ - --enable-ncp-app=all \ - --with-ncp-bus=uart \ + --enable-cli \ --enable-diag \ - --with-examples=samr21 \ + --enable-ftd \ + --enable-mtd \ + --enable-ncp \ + --with-ncp-bus=uart \ + --enable-radio-only \ --enable-linker-map \ + --with-examples=samr21 \ $(NULL) TopSourceDir := $(dir $(shell readlink $(firstword $(MAKEFILE_LIST)))).. diff --git a/examples/Makefile.am b/examples/Makefile.am index 1dd1e0357..3c0098421 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -41,11 +41,11 @@ EXTRA_DIST = \ # Always build (e.g. for 'make all') these subdirectories. +if OPENTHREAD_ENABLE_EXAMPLES SUBDIRS = \ platforms \ $(NULL) -if OPENTHREAD_EXAMPLES SUBDIRS += \ apps \ $(NULL) diff --git a/examples/apps/cli/Makefile.am b/examples/apps/cli/Makefile.am index e7e9f0588..04259b2f6 100644 --- a/examples/apps/cli/Makefile.am +++ b/examples/apps/cli/Makefile.am @@ -63,7 +63,7 @@ LDADD_COMMON += \ $(NULL) endif # OPENTHREAD_ENABLE_DIAG -if OPENTHREAD_ENABLE_CLI_FTD +if OPENTHREAD_ENABLE_FTD bin_PROGRAMS += \ ot-cli-ftd \ $(NULL) @@ -93,7 +93,7 @@ ot_cli_ftd_SOURCES = \ $(SOURCES_COMMON) \ $(NULL) -if OPENTHREAD_ENABLE_CLI_MTD +if OPENTHREAD_ENABLE_MTD bin_PROGRAMS += \ ot-cli-mtd \ $(NULL) diff --git a/examples/apps/ncp/Makefile.am b/examples/apps/ncp/Makefile.am index df3a96cc6..8fb373a26 100644 --- a/examples/apps/ncp/Makefile.am +++ b/examples/apps/ncp/Makefile.am @@ -75,7 +75,7 @@ LDADD_COMMON += \ $(NULL) endif # OPENTHREAD_ENABLE_NCP_SPINEL_ENCRYPTER -if OPENTHREAD_ENABLE_NCP_FTD +if OPENTHREAD_ENABLE_FTD bin_PROGRAMS += \ ot-ncp-ftd \ $(NULL) @@ -109,7 +109,7 @@ ot_ncp_ftd_SOURCES = \ $(SOURCES_COMMON) \ $(NULL) -if OPENTHREAD_ENABLE_NCP_MTD +if OPENTHREAD_ENABLE_MTD bin_PROGRAMS += \ ot-ncp-mtd \ $(NULL) @@ -143,7 +143,7 @@ ot_ncp_mtd_SOURCES = \ $(SOURCES_COMMON) \ $(NULL) -if OPENTHREAD_ENABLE_NCP_RADIO +if OPENTHREAD_ENABLE_RADIO_ONLY bin_PROGRAMS += \ ot-ncp-radio \ $(NULL) diff --git a/src/core/Makefile.am b/src/core/Makefile.am index 69af7f484..785ed2d6e 100644 --- a/src/core/Makefile.am +++ b/src/core/Makefile.am @@ -28,11 +28,19 @@ include $(abs_top_nlbuild_autotools_dir)/automake/pre.am -lib_LIBRARIES = \ - libopenthread-ftd.a \ - libopenthread-mtd.a \ - libopenthread-radio.a \ - $(NULL) +lib_LIBRARIES = $(NULL) + +if OPENTHREAD_ENABLE_FTD +lib_LIBRARIES += libopenthread-ftd.a +endif + +if OPENTHREAD_ENABLE_MTD +lib_LIBRARIES += libopenthread-mtd.a +endif + +if OPENTHREAD_ENABLE_RADIO_ONLY +lib_LIBRARIES += libopenthread-radio.a +endif CPPFLAGS_COMMON = \ -I$(top_srcdir)/include \ diff --git a/src/posix/Makefile-posix b/src/posix/Makefile-posix index 5589ecf80..2eff22567 100644 --- a/src/posix/Makefile-posix +++ b/src/posix/Makefile-posix @@ -49,16 +49,19 @@ configure_OPTIONS = \ --enable-border-router \ --enable-cert-log \ --enable-child-supervision \ + --enable-cli \ --enable-commissioner \ --enable-dhcp6-client \ --enable-dhcp6-server \ --enable-diag \ --enable-dns-client \ + --enable-ftd \ --enable-jam-detection \ --enable-joiner \ + --enable-ncp \ --enable-legacy \ --enable-mac-filter \ - --enable-posix-app=all \ + --enable-posix-app \ --enable-service \ --enable-tmf-proxy \ --with-ncp-bus=uart \ diff --git a/src/posix/Makefile.am b/src/posix/Makefile.am index 9c839980b..fbe181455 100644 --- a/src/posix/Makefile.am +++ b/src/posix/Makefile.am @@ -76,7 +76,7 @@ endif # OPENTHREAD_ENABLE_DIAG bin_PROGRAMS = \ $(NULL) -if OPENTHREAD_ENABLE_POSIX_APP_NCP +if OPENTHREAD_ENABLE_NCP bin_PROGRAMS += \ ot-ncp \ $(NULL) @@ -107,7 +107,7 @@ ot_ncp_LIBTOOLFLAGS = \ $(LIBTOOLFLAGS_COMMON) \ $(NULL) -if OPENTHREAD_ENABLE_POSIX_APP_CLI +if OPENTHREAD_ENABLE_CLI bin_PROGRAMS += \ ot-cli \ $(NULL) diff --git a/tests/toranj/start.sh b/tests/toranj/start.sh index 0437bc2e5..5f50e5f8a 100755 --- a/tests/toranj/start.sh +++ b/tests/toranj/start.sh @@ -90,12 +90,12 @@ fi ./configure \ CPPFLAGS='-DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"../tests/toranj/openthread-core-toranj-config.h\"' \ --enable-coverage=${coverage} \ - --enable-ncp-app=all \ + --enable-ncp \ --with-ncp-bus=uart \ - --with-examples=posix \ --enable-border-router \ --enable-child-supervision \ --enable-diag \ + --enable-ftd \ --enable-jam-detection \ --enable-legacy \ --enable-mac-filter \ @@ -103,6 +103,7 @@ fi --enable-channel-monitor \ --enable-channel-manager \ --enable-commissioner \ + --with-examples=posix \ --disable-docs \ --disable-test || die