Added a blank for the libwebsockets package

pull/136/head
Igor Zalatov (from Citadel PC) 2021-12-31 19:35:48 +03:00
parent 67d5ca3deb
commit d0aeeda60d
3 changed files with 105 additions and 0 deletions

View File

@ -0,0 +1,34 @@
From 5f8134cfe5e7b90a8ce07d27ae737dcc54b523b3 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Wed, 16 Oct 2019 20:09:13 +0200
Subject: [PATCH] CMakeLists.txt: fix static build with openssl
openssl can depends on -latomic so use pkg-config (if available) to
retrieve these static dependencies otherwise build will fail because
HMAC_CTX_new test will return a wrong result
Fixes:
- http://autobuild.buildroot.org/results/65d0528b208c0a470264f7e2433be89425971dd7
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Retrieved (and backported) from:
https://github.com/warmcat/libwebsockets/commit/5f8134cfe5e7b90a8ce07d27ae737dcc54b523b3]
---
CMakeLists.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2693ac56a..888f65e83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1803,7 +1803,10 @@ if (LWS_WITH_SSL)
if (NOT OPENSSL_FOUND AND NOT LWS_WITH_BORINGSSL)
# TODO: Add support for STATIC also.
if (NOT LWS_WITH_ESP32)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(PC_OPENSSL openssl QUIET)
find_package(OpenSSL REQUIRED)
+ list(APPEND OPENSSL_LIBRARIES ${PC_OPENSSL_LIBRARIES})
endif()
set(OPENSSL_INCLUDE_DIRS "${OPENSSL_INCLUDE_DIR}")
endif()

View File

@ -0,0 +1,9 @@
config BR2_PACKAGE_LIBWEBSOCKETS
bool "libwebsockets"
select BR2_PACKAGE_ZLIB
help
Libwebsockets is a lightweight pure C library built to use
minimal CPU and memory resources, and provide fast throughput
in both directions.
http://libwebsockets.org/

View File

@ -0,0 +1,62 @@
################################################################################
#
# libwebsockets
#
################################################################################
LIBWEBSOCKETS_VERSION = 3.2.2
LIBWEBSOCKETS_SITE = $(call github,warmcat,libwebsockets,v$(LIBWEBSOCKETS_VERSION))
LIBWEBSOCKETS_LICENSE = LGPL-2.1 with exceptions
LIBWEBSOCKETS_LICENSE_FILES = LICENSE
LIBWEBSOCKETS_DEPENDENCIES = zlib
LIBWEBSOCKETS_INSTALL_STAGING = YES
LIBWEBSOCKETS_CONF_OPTS = -DLWS_WITHOUT_TESTAPPS=ON -DLWS_IPV6=ON
# If LWS_MAX_SMP=1, then there is no code related to pthreads compiled
# in the library. If unset, LWS_MAX_SMP defaults to 32 and a small
# amount of pthread mutex code is built into the library.
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
LIBWEBSOCKETS_CONF_OPTS += -DLWS_MAX_SMP=1
else
LIBWEBSOCKETS_CONF_OPTS += -DLWS_MAX_SMP=
endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
LIBWEBSOCKETS_DEPENDENCIES += openssl host-openssl
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_SSL=ON
else
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_SSL=OFF
endif
ifeq ($(BR2_PACKAGE_LIBEV),y)
LIBWEBSOCKETS_DEPENDENCIES += libev
LIBWEBSOCKETS_CONF_OPTS += \
-DLWS_WITH_LIBEV=ON \
-DLWS_WITH_LIBEVENT=OFF
else ifeq ($(BR2_PACKAGE_LIBEVENT),y)
LIBWEBSOCKETS_DEPENDENCIES += libevent
LIBWEBSOCKETS_CONF_OPTS += \
-DLWS_WITH_LIBEV=OFF \
-DLWS_WITH_LIBEVENT=ON
else
LIBWEBSOCKETS_CONF_OPTS += \
-DLWS_WITH_LIBEV=OFF \
-DLWS_WITH_LIBEVENT=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_STATIC_LIBS),y)
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_SHARED=OFF
endif
ifeq ($(BR2_SHARED_LIBS),y)
LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_STATIC=OFF
endif
$(eval $(cmake-package))