From c0313240d2df35bcc41bccc84b64597418bd5e97 Mon Sep 17 00:00:00 2001 From: Jiacheng Guo Date: Sat, 8 Feb 2020 00:28:52 +0800 Subject: [PATCH] [android] build CLI and NCP libraries (#4528) This enables other repositories to link against these libraries. --- Android.mk | 141 +++++++++++++++++++--------- include/openthread-config-android.h | 3 - 2 files changed, 99 insertions(+), 45 deletions(-) diff --git a/Android.mk b/Android.mk index 2fddabfb9..625d64a5f 100644 --- a/Android.mk +++ b/Android.mk @@ -44,6 +44,12 @@ OPENTHREAD_COMMON_FLAGS := \ -DVERSION=\"$(OPENTHREAD_DEFAULT_VERSION)\" \ -DPACKAGE_URL=\"http://github.com/openthread/openthread\" \ -DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1 \ + -DOPENTHREAD_CONFIG_POSIX_APP_ENABLE_PTY_DEVICE=1 \ + -DOPENTHREAD_FTD=1 \ + -DOPENTHREAD_POSIX=1 \ + -DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\" \ + -DOPENTHREAD_CONFIG_FILE=\ \ + -DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\" \ $(NULL) # Enable required features for on-device tests. @@ -53,6 +59,10 @@ OPENTHREAD_COMMON_FLAGS += \ $(NULL) endif +ifneq ($(USE_OTBR_DAEMON), 1) +OPENTHREAD_COMMON_FLAGS += -DOPENTHREAD_CONFIG_UDP_FORWARD_ENABLE=1 +endif + # Enable all optional features for CI tests. ifeq ($(TARGET_PRODUCT),generic) OPENTHREAD_COMMON_FLAGS += \ @@ -63,6 +73,7 @@ OPENTHREAD_COMMON_FLAGS += \ -DOPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1 \ -DOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE=0 \ -DOPENTHREAD_CONFIG_TMF_NETWORK_DIAG_MTD_ENABLE=1 \ + -DOPENTHREAD_POSIX_RCP_UART_ENABLE=1 \ $(NULL) endif @@ -93,14 +104,7 @@ LOCAL_C_INCLUDES := \ $(NULL) LOCAL_CFLAGS := \ - -DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\" \ - -DOPENTHREAD_CONFIG_FILE=\ \ $(OPENTHREAD_COMMON_FLAGS) \ - -DOPENTHREAD_CONFIG_POSIX_APP_ENABLE_PTY_DEVICE=1 \ - -DOPENTHREAD_FTD=1 \ - -DOPENTHREAD_POSIX=1 \ - -DOPENTHREAD_POSIX_RCP_UART_ENABLE=1 \ - -DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\" \ $(OPENTHREAD_PROJECT_CFLAGS) \ $(NULL) @@ -238,11 +242,13 @@ LOCAL_SRC_FILES := \ src/posix/platform/hdlc_interface.cpp \ src/posix/platform/logging.c \ src/posix/platform/misc.c \ + src/posix/platform/netif.cpp \ src/posix/platform/radio_spinel.cpp \ src/posix/platform/settings.cpp \ src/posix/platform/spi_interface.cpp \ src/posix/platform/system.c \ src/posix/platform/uart.c \ + src/posix/platform/udp.cpp \ third_party/mbedtls/repo/library/md.c \ third_party/mbedtls/repo/library/md_wrap.c \ third_party/mbedtls/repo/library/memory_buffer_alloc.c \ @@ -275,6 +281,48 @@ include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) +LOCAL_MODULE := libopenthread-cli +LOCAL_MODULE_TAGS := eng + +LOCAL_C_INCLUDES := \ + $(OPENTHREAD_PROJECT_INCLUDES) \ + $(LOCAL_PATH)/include \ + $(LOCAL_PATH)/src \ + $(LOCAL_PATH)/src/cli \ + $(LOCAL_PATH)/src/core \ + $(LOCAL_PATH)/src/posix/platform \ + $(LOCAL_PATH)/third_party/mbedtls \ + $(LOCAL_PATH)/third_party/mbedtls/repo/include \ + $(NULL) + +LOCAL_CFLAGS := \ + $(OPENTHREAD_COMMON_FLAGS) \ + -DOPENTHREAD_CONFIG_UART_CLI_RAW=1 \ + -DOPENTHREAD_POSIX_APP_TYPE=2 \ + $(OPENTHREAD_PROJECT_CFLAGS) \ + $(NULL) + +LOCAL_CPPFLAGS := \ + -Wno-non-virtual-dtor \ + $(NULL) + +LOCAL_SRC_FILES := \ + src/cli/cli.cpp \ + src/cli/cli_coap.cpp \ + src/cli/cli_coap_secure.cpp \ + src/cli/cli_commissioner.cpp \ + src/cli/cli_console.cpp \ + src/cli/cli_dataset.cpp \ + src/cli/cli_joiner.cpp \ + src/cli/cli_server.cpp \ + src/cli/cli_uart.cpp \ + src/cli/cli_udp.cpp \ + $(NULL) + +include $(BUILD_STATIC_LIBRARY) + +include $(CLEAR_VARS) + LOCAL_MODULE := ot-cli LOCAL_MODULE_TAGS := eng @@ -290,16 +338,9 @@ LOCAL_C_INCLUDES := \ $(NULL) LOCAL_CFLAGS := \ - -DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\" \ - -DOPENTHREAD_CONFIG_FILE=\ \ $(OPENTHREAD_COMMON_FLAGS) \ - -DOPENTHREAD_CONFIG_POSIX_APP_ENABLE_PTY_DEVICE=1 \ -DOPENTHREAD_CONFIG_UART_CLI_RAW=1 \ - -DOPENTHREAD_FTD=1 \ - -DOPENTHREAD_POSIX=1 \ -DOPENTHREAD_POSIX_APP_TYPE=2 \ - -DOPENTHREAD_POSIX_RCP_UART_ENABLE=1 \ - -DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\" \ $(OPENTHREAD_PROJECT_CFLAGS) \ $(NULL) @@ -311,23 +352,52 @@ LOCAL_LDLIBS := \ -lutil LOCAL_SRC_FILES := \ - src/cli/cli.cpp \ - src/cli/cli_coap.cpp \ - src/cli/cli_commissioner.cpp \ - src/cli/cli_console.cpp \ - src/cli/cli_dataset.cpp \ - src/cli/cli_joiner.cpp \ - src/cli/cli_server.cpp \ - src/cli/cli_uart.cpp \ - src/cli/cli_udp.cpp \ src/posix/main.c \ $(NULL) -LOCAL_STATIC_LIBRARIES = ot-core +LOCAL_STATIC_LIBRARIES = libopenthread-cli ot-core include $(BUILD_EXECUTABLE) include $(CLEAR_VARS) +LOCAL_MODULE := libopenthread-ncp +LOCAL_MODULE_TAGS := eng + +LOCAL_C_INCLUDES := \ + $(OPENTHREAD_PROJECT_INCLUDES) \ + $(LOCAL_PATH)/include \ + $(LOCAL_PATH)/src \ + $(LOCAL_PATH)/src/core \ + $(LOCAL_PATH)/src/ncp \ + $(LOCAL_PATH)/src/posix/platform \ + $(LOCAL_PATH)/third_party/mbedtls \ + $(LOCAL_PATH)/third_party/mbedtls/repo/include \ + $(NULL) + +LOCAL_CFLAGS := \ + $(OPENTHREAD_COMMON_FLAGS) \ + -DOPENTHREAD_POSIX_APP_TYPE=1 \ + $(OPENTHREAD_PROJECT_CFLAGS) \ + $(NULL) + +LOCAL_CPPFLAGS := \ + -Wno-non-virtual-dtor \ + $(NULL) + +LOCAL_SRC_FILES := \ + src/ncp/changed_props_set.cpp \ + src/ncp/ncp_base.cpp \ + src/ncp/ncp_base_mtd.cpp \ + src/ncp/ncp_base_ftd.cpp \ + src/ncp/ncp_base_dispatcher.cpp \ + src/ncp/ncp_buffer.cpp \ + src/ncp/ncp_uart.cpp \ + $(NULL) + +include $(BUILD_STATIC_LIBRARY) + +include $(CLEAR_VARS) + LOCAL_MODULE := ot-ncp LOCAL_MODULE_TAGS := eng @@ -343,15 +413,8 @@ LOCAL_C_INCLUDES := \ $(NULL) LOCAL_CFLAGS := \ - -DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\" \ - -DOPENTHREAD_CONFIG_FILE=\ \ $(OPENTHREAD_COMMON_FLAGS) \ - -DOPENTHREAD_CONFIG_POSIX_APP_ENABLE_PTY_DEVICE=1 \ - -DOPENTHREAD_FTD=1 \ - -DOPENTHREAD_POSIX=1 \ -DOPENTHREAD_POSIX_APP_TYPE=1 \ - -DOPENTHREAD_POSIX_RCP_UART_ENABLE=1 \ - -DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\" \ $(OPENTHREAD_PROJECT_CFLAGS) \ $(NULL) @@ -359,19 +422,13 @@ LOCAL_CPPFLAGS := \ -Wno-non-virtual-dtor \ $(NULL) -LOCAL_LDLIBS := \ - -lutil - LOCAL_SRC_FILES := \ - src/ncp/changed_props_set.cpp \ - src/ncp/ncp_base.cpp \ - src/ncp/ncp_base_mtd.cpp \ - src/ncp/ncp_base_ftd.cpp \ - src/ncp/ncp_base_dispatcher.cpp \ - src/ncp/ncp_buffer.cpp \ - src/ncp/ncp_uart.cpp \ src/posix/main.c \ $(NULL) -LOCAL_STATIC_LIBRARIES = ot-core +LOCAL_LDLIBS := \ + -lutil + +LOCAL_STATIC_LIBRARIES = libopenthread-ncp ot-core + include $(BUILD_EXECUTABLE) diff --git a/include/openthread-config-android.h b/include/openthread-config-android.h index 02acf9eaa..0d0808347 100644 --- a/include/openthread-config-android.h +++ b/include/openthread-config-android.h @@ -62,9 +62,6 @@ /* Define to 1 if you want to enable Service */ #define OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 1 -/* Define to 1 to enable the UDP forward feature. */ -#define OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 1 - /* OpenThread examples */ #define OPENTHREAD_EXAMPLES none