This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git
commit 4263e27d92ac27b59dc8a92afcd8b68bbcd7e4f3 Author: Tiago Medicci <[email protected]> AuthorDate: Fri Jun 12 10:50:38 2026 -0300 netutils/libwebsockets: Enable libwebsockets server This commit enables building libwebsockets server based on a new Kconfig entry. Signed-off-by: Tiago Medicci <[email protected]> --- netutils/libwebsockets/CMakeLists.txt | 10 +++++++++- netutils/libwebsockets/Kconfig | 7 +++++++ netutils/libwebsockets/Makefile | 12 +++++++++++- netutils/libwebsockets/lws_config.h | 4 +++- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/netutils/libwebsockets/CMakeLists.txt b/netutils/libwebsockets/CMakeLists.txt index 717788f13..ed3f58674 100644 --- a/netutils/libwebsockets/CMakeLists.txt +++ b/netutils/libwebsockets/CMakeLists.txt @@ -63,7 +63,8 @@ if(CONFIG_NETUTILS_LIBWEBSOCKETS) -DLWS_LIBRARY_VERSION_PATCH=${VERSION_PATCH} -DLWS_LIBRARY_VERSION_PATCH_ELABORATED=${VERSION_PATCH}-unknown -DLWS_LIBRARY_VERSION="${CONFIG_NETUTILS_LIBWEBSOCKETS_VERSION}-unknown" - -Wno-shadow) + -Wno-shadow + -Wno-format) set(INCDIR ${CMAKE_CURRENT_LIST_DIR} @@ -146,6 +147,13 @@ if(CONFIG_NETUTILS_LIBWEBSOCKETS) ${LIBWEBSOCKETS_DIR}/lib/roles/http/client/client-http.c ${LIBWEBSOCKETS_DIR}/lib/event-libs/poll/poll.c) + if(CONFIG_NETUTILS_LIBWEBSOCKETS_SERVER) + list(APPEND INCDIR ${LIBWEBSOCKETS_DIR}/lib/roles/http/server) + list(APPEND CSRCS ${LIBWEBSOCKETS_DIR}/lib/roles/ws/server-ws.c + ${LIBWEBSOCKETS_DIR}/lib/roles/http/server/server.c + ${LIBWEBSOCKETS_DIR}/lib/roles/listen/ops-listen.c) + endif() + if(CONFIG_NETUTILS_LIBWEBSOCKETS_TLS) list(APPEND INCDIR ${LIBWEBSOCKETS_DIR}/lib/tls/mbedtls/wrapper/include ${LIBWEBSOCKETS_DIR}/lib/tls/mbedtls/wrapper/include/internal) diff --git a/netutils/libwebsockets/Kconfig b/netutils/libwebsockets/Kconfig index 0e127e286..36c904906 100644 --- a/netutils/libwebsockets/Kconfig +++ b/netutils/libwebsockets/Kconfig @@ -16,6 +16,13 @@ config NETUTILS_LIBWEBSOCKETS_VERSION string "Version number" default "4.3.1" +config NETUTILS_LIBWEBSOCKETS_SERVER + bool "Enable server support" + default n + ---help--- + Enable WebSocket/HTTP server support in libwebsockets. + When disabled, only client-side code is built. + config NETUTILS_LIBWEBSOCKETS_TLS bool "Enable TLS support" default y diff --git a/netutils/libwebsockets/Makefile b/netutils/libwebsockets/Makefile index 2dbe64479..ff28433ce 100644 --- a/netutils/libwebsockets/Makefile +++ b/netutils/libwebsockets/Makefile @@ -35,7 +35,8 @@ CFLAGS += \ -DLWS_LIBRARY_VERSION_MINOR=$(call word-dot,$(LIBWEBSOCKETS_VERSION),2) \ -DLWS_LIBRARY_VERSION_PATCH=$(call word-dot,$(LIBWEBSOCKETS_VERSION),3) \ -DLWS_LIBRARY_VERSION_PATCH_ELABORATED=$(call word-dot,$(LIBWEBSOCKETS_VERSION),3)-unknown \ - -DLWS_LIBRARY_VERSION=\"$(LIBWEBSOCKETS_VERSION)-unknown\" + -DLWS_LIBRARY_VERSION=\"$(LIBWEBSOCKETS_VERSION)-unknown\" \ + -Wno-shadow -Wno-format CFLAGS += \ -I. \ @@ -118,6 +119,15 @@ CSRCS += \ $(LIBWEBSOCKETS_UNPACK)/lib/roles/http/client/client-http.c \ $(LIBWEBSOCKETS_UNPACK)/lib/event-libs/poll/poll.c +ifneq ($(CONFIG_NETUTILS_LIBWEBSOCKETS_SERVER),) +CSRCS += \ + $(LIBWEBSOCKETS_UNPACK)/lib/roles/ws/server-ws.c \ + $(LIBWEBSOCKETS_UNPACK)/lib/roles/http/server/server.c \ + $(LIBWEBSOCKETS_UNPACK)/lib/roles/listen/ops-listen.c + +CFLAGS += -I$(LIBWEBSOCKETS_UNPACK)/lib/roles/http/server +endif + ifneq ($(CONFIG_NETUTILS_LIBWEBSOCKETS_TLS),) CSRCS += \ $(LIBWEBSOCKETS_UNPACK)/lib/tls/tls.c \ diff --git a/netutils/libwebsockets/lws_config.h b/netutils/libwebsockets/lws_config.h index 6a4bcb79b..02fb9ef2c 100644 --- a/netutils/libwebsockets/lws_config.h +++ b/netutils/libwebsockets/lws_config.h @@ -294,7 +294,9 @@ #define LWS_WITH_CACHE_NSCOOKIEJAR #define LWS_WITH_CLIENT #define LWS_WITHOUT_EXTENSIONS -/* #undef LWS_WITH_SERVER */ +#ifdef CONFIG_NETUTILS_LIBWEBSOCKETS_SERVER +#define LWS_WITH_SERVER +#endif /* #undef LWS_WITH_SPAWN */
