mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-11-13 12:08:54 -10:00
There are no release notes for the 5.x series; the git history is at https://github.com/warmcat/libwebsockets/compare/v4.5.8...v5.1.0 Version 5.0.0 added mbedtls 4 support, and 5.1.0 brings the mbedtls 4 fixes on top of it, so libwebsockets now builds and works with mbedtls 4.1. Drop patch 0001, which was applied upstream in a reworked form as commit 8a0dbfba1 ("cmake: only use libatomic if it provides the 64-bit atomics"). HTTP/3 (QUIC) is now enabled by default. With OpenSSL, it forces the new GnuTLS backend on, and with mbedtls it requires an mbedtls carrying the libwebsockets QUIC patches, so the configure step fails either way: LWS_ROLE_QUIC (HTTP/3) requires mbedtls to be patched with QUIC support. Disable HTTP/3 and QUIC, which version 4.5.8 did not have either. LWS_PRE, the headroom required before buffers passed to lws_write(), grew on 64-bit builds, and the soname changed from libwebsockets.so.21 to libwebsockets.so.23. The LICENSE file lists two more files that are already MIT licensed (lib/misc/dht and lib/misc/qrcodegen.c), hence the hash change. Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
109 lines
2.9 KiB
Makefile
109 lines
2.9 KiB
Makefile
################################################################################
|
|
#
|
|
# libwebsockets
|
|
#
|
|
################################################################################
|
|
|
|
LIBWEBSOCKETS_VERSION = 5.1.0
|
|
LIBWEBSOCKETS_SITE = $(call github,warmcat,libwebsockets,v$(LIBWEBSOCKETS_VERSION))
|
|
LIBWEBSOCKETS_LICENSE = MIT with exceptions
|
|
LIBWEBSOCKETS_LICENSE_FILES = LICENSE
|
|
LIBWEBSOCKETS_DEPENDENCIES = zlib
|
|
LIBWEBSOCKETS_INSTALL_STAGING = YES
|
|
# HTTP/3 (QUIC) is enabled by default, but needs GnuTLS when OpenSSL
|
|
# is used, and an mbedtls with the libwebsockets QUIC patches.
|
|
LIBWEBSOCKETS_CONF_OPTS = \
|
|
-DDISABLE_WERROR=ON \
|
|
-DLWS_WITH_HTTP3=OFF \
|
|
-DLWS_ROLE_QUIC=OFF \
|
|
-DLWS_WITHOUT_TESTAPPS=ON \
|
|
-DLWS_IPV6=ON \
|
|
-DLWS_UNIX_SOCK=ON \
|
|
-DLWS_WITHOUT_EXTENSIONS=OFF
|
|
|
|
# If LWS_MAX_SMP=1, then there is no code related to pthreads compiled
|
|
# in the library. If unset, LWS_MAX_SMP defaults to 1.
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
|
|
LIBWEBSOCKETS_CONF_OPTS += \
|
|
-DLWS_MAX_SMP=1 \
|
|
-DLWS_WITH_SYS_SMD=OFF
|
|
else
|
|
LIBWEBSOCKETS_CONF_OPTS += \
|
|
-DLWS_MAX_SMP=32 \
|
|
-DLWS_WITH_SYS_SMD=ON
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
LIBWEBSOCKETS_DEPENDENCIES += openssl host-openssl
|
|
LIBWEBSOCKETS_CONF_OPTS += \
|
|
-DLWS_WITH_SSL=ON \
|
|
-DLWS_WITH_MBEDTLS=OFF \
|
|
-DLWS_WITH_WOLFSSL=OFF
|
|
else ifeq ($(BR2_PACKAGE_MBEDTLS),y)
|
|
LIBWEBSOCKETS_DEPENDENCIES += mbedtls
|
|
LIBWEBSOCKETS_CONF_OPTS += \
|
|
-DLWS_WITH_SSL=ON \
|
|
-DLWS_WITH_MBEDTLS=ON \
|
|
-DLWS_WITH_WOLFSSL=OFF
|
|
else ifeq ($(BR2_PACKAGE_WOLFSSL_ALL),y)
|
|
LIBWEBSOCKETS_DEPENDENCIES += host-pkgconf wolfssl
|
|
LIBWEBSOCKETS_CONF_OPTS += \
|
|
-DLWS_WITH_SSL=ON \
|
|
-DLWS_WITH_MBEDTLS=OFF \
|
|
-DLWS_WITH_WOLFSSL=ON
|
|
else
|
|
LIBWEBSOCKETS_CONF_OPTS += \
|
|
-DLWS_WITH_SSL=OFF \
|
|
-DLWS_WITH_MBEDTLS=OFF \
|
|
-DLWS_WITH_WOLFSSL=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBEV),y)
|
|
LIBWEBSOCKETS_DEPENDENCIES += libev
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_LIBEV=ON
|
|
else
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_LIBEV=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBEVENT),y)
|
|
LIBWEBSOCKETS_DEPENDENCIES += libevent
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_LIBEVENT=ON
|
|
else
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_LIBEVENT=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
|
|
LIBWEBSOCKETS_DEPENDENCIES += libglib2
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_GLIB=ON
|
|
else
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_GLIB=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y)
|
|
LIBWEBSOCKETS_DEPENDENCIES += util-linux
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_FSMOUNT=ON
|
|
else
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_FSMOUNT=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBUV),y)
|
|
LIBWEBSOCKETS_DEPENDENCIES += libuv
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_LIBUV=ON
|
|
else
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_LIBUV=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_SHARED_LIBS),y)
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_STATIC=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS_EXT_POLL),y)
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_EXTERNAL_POLL=ON
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS_ASYNC_DNS),y)
|
|
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_SYS_ASYNC_DNS=ON
|
|
endif
|
|
|
|
$(eval $(cmake-package))
|