From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Fri, 10 May 2024 11:05:02 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s5MBa-006zop-04 for lore@lore.pengutronix.de; Fri, 10 May 2024 11:05:02 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1s5MBZ-0003nZ-Lu; Fri, 10 May 2024 11:05:01 +0200 Received: from smtp77.iad3a.emailsrvr.com ([173.203.187.77]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1s5MB4-0003XS-GG for ptxdist@pengutronix.de; Fri, 10 May 2024 11:04:32 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mev.co.uk; s=20221208-6x11dpa4; t=1715331869; bh=gqu5qJwdZIhM8iYm4xuhcKqLvFix2Mxzy6vje3qT0YY=; h=From:To:Subject:Date:From; b=jRgaJFADYoHkS1u3pv14NV0GRYD5YZZ2sVW1kGH6FiWUt+KCfWJlV5R9mlwU5ZZjc 5NRsaNFAbqeN6LSwsGFGr/IVfaJ+7pmZcVKour9pv7nMQBKTYcpE/bdQowYdkugitv pofKtx3Q/Sr9LFs9apWLp4cmM5PkKpW5C3V948a0= X-Auth-ID: abbotti@mev.co.uk Received: by smtp34.relay.iad3a.emailsrvr.com (Authenticated sender: abbotti-AT-mev.co.uk) with ESMTPSA id 1837724B6A; Fri, 10 May 2024 05:04:28 -0400 (EDT) From: Ian Abbott To: ptxdist@pengutronix.de Date: Fri, 10 May 2024 09:58:47 +0100 Message-ID: <20240510090419.4399-2-abbotti@mev.co.uk> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240510090419.4399-1-abbotti@mev.co.uk> References: <20240510090419.4399-1-abbotti@mev.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Classification-ID: 3c1b6e5d-a055-403d-8151-b847ef544b4b-2-1 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-3.5 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Subject: [ptxdist] [PATCH 1/2] libwebsockets: new package X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Ian Abbott Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false Includes the C library from the Libwebsockets (LWS) project, with options for adding TLS (SSL) support, and options the adding various event loop libraries that are dynamically loaded as plug-ins. Signed-off-by: Ian Abbott --- rules/libwebsockets.in | 56 ++++++++++++++++++++++++++ rules/libwebsockets.make | 85 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 rules/libwebsockets.in create mode 100644 rules/libwebsockets.make diff --git a/rules/libwebsockets.in b/rules/libwebsockets.in new file mode 100644 index 000000000..e10413604 --- /dev/null +++ b/rules/libwebsockets.in @@ -0,0 +1,56 @@ +## SECTION=networking + +menuconfig LIBWEBSOCKETS + tristate + select HOST_CMAKE + select ZLIB + select LIBCAP + select OPENSSL if LIBWEBSOCKETS_TLS + select LIBEV if LIBWEBSOCKETS_LIBEV + select LIBUV if LIBWEBSOCKETS_LIBUV + select LIBEVENT if LIBWEBSOCKETS_LIBEVENT + select GLIB if LIBWEBSOCKETS_GLIB + prompt "libwebsockets " + help + Libwebsockets is a lightweight pure C library for both + websockets clients and servers built to use minimal CPU + and memory resources and provide fast throughput in both + directions. + +if LIBWEBSOCKETS + +config LIBWEBSOCKETS_TLS + bool + prompt "TLS (SSL) support" + help + Turn on to include TLS (SSL) support. + +menuconfig LIBWEBSOCKETS_EVLIB + bool + prompt "Event library options " + help + Turn on to enable various event library plug-ins. + +if LIBWEBSOCKETS_EVLIB + +config LIBWEBSOCKETS_LIBEV + bool + prompt "compile with support for libev" + +config LIBWEBSOCKETS_LIBUV + bool + prompt "compile with support for libuv" + +config LIBWEBSOCKETS_LIBEVENT + bool + prompt "compile with support for libevent" + +config LIBWEBSOCKETS_GLIB + bool + prompt "compile with support for glib event loop" + +endif + +endif + +# vim: ft=kconfig noet tw=72 diff --git a/rules/libwebsockets.make b/rules/libwebsockets.make new file mode 100644 index 000000000..4e22e9c18 --- /dev/null +++ b/rules/libwebsockets.make @@ -0,0 +1,85 @@ +# -*-makefile-*- +# +# Copyright (C) 2024 by Ian Abbott +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_LIBWEBSOCKETS) += libwebsockets + +# +# Paths and names +# +LIBWEBSOCKETS_VERSION := 4.3.3 +LIBWEBSOCKETS_MD5 := 877f457d059718a7eafdaf8db5d7abbb +LIBWEBSOCKETS := libwebsockets-v$(LIBWEBSOCKETS_VERSION) +LIBWEBSOCKETS_SUFFIX := tar.bz2 +LIBWEBSOCKETS_URL := https://libwebsockets.org/git/libwebsockets/snapshot/$(LIBWEBSOCKETS).$(LIBWEBSOCKETS_SUFFIX) +LIBWEBSOCKETS_SOURCE := $(SRCDIR)/$(LIBWEBSOCKETS).$(LIBWEBSOCKETS_SUFFIX) +LIBWEBSOCKETS_DIR := $(BUILDDIR)/$(LIBWEBSOCKETS) +LIBWEBSOCKETS_LICENSE := MIT AND BSD-2-Clause AND BSD-3-Clause +LIBWEBSOCKETS_LICENSE_FILES := file://LICENSE;md5=382bfdf329e774859fd401eaf850d29b + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +# +# cmake +# +LIBWEBSOCKETS_CONF_TOOL := cmake +LIBWEBSOCKETS_CONF_OPT := \ + $(CROSS_CMAKE_USR) \ + -DLWS_WITHOUT_DAEMONIZE=OFF \ + -DLWS_WITH_ZLIB=ON \ + -DLWS_WITH_SSL=$(call ptx/onoff, PTXCONF_LIBWEBSOCKETS_TLS) \ + -DLWS_WITH_LIBEV=$(call ptx/onoff, PTXCONF_LIBWEBSOCKETS_LIBEV) \ + -DLWS_WITH_LIBUV=$(call ptx/onoff, PTXCONF_LIBWEBSOCKETS_LIBUV) \ + -DLWS_WITH_LIBEVENT=$(call ptx/onoff, PTXCONF_LIBWEBSOCKETS_LIBEVENT) \ + -DLWS_WITH_GLIB=$(call ptx/onoff, PTXCONF_LIBWEBSOCKETS_GLIB) \ + -DLWS_WITHOUT_TESTAPPS=ON \ + -DLWS_WITHOUT_TEST_PING=ON \ + -DLWS_WITHOUT_TEST_CLIENT=ON \ + -DLWS_WITHOUT_EXTENSIONS=OFF \ + -DLWS_WITH_EXTERNAL_POLL=ON \ + -DLWS_IPV6=$(call ptx/onoff, PTXCONF_GLOBAL_IPV6) + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/libwebsockets.targetinstall: + @$(call targetinfo) + + @$(call install_init, libwebsockets) + @$(call install_fixup, libwebsockets,PRIORITY,optional) + @$(call install_fixup, libwebsockets,SECTION,base) + @$(call install_fixup, libwebsockets,AUTHOR,"Ian Abbott ") + @$(call install_fixup, libwebsockets,DESCRIPTION,missing) + +# libraries + @$(call install_lib, libwebsockets, 0, 0, 0644, libwebsockets) + +# plug-in libraries +ifdef PTXCONF_LIBWEBSOCKETS_LIBEV + @$(call install_lib, libwebsockets, 0, 0, 0644, libwebsockets-evlib_ev) +endif +ifdef PTXCONF_LIBWEBSOCKETS_LIBUV + @$(call install_lib, libwebsockets, 0, 0, 0644, libwebsockets-evlib_uv) +endif +ifdef PTXCONF_LIBWEBSOCKETS_LIBEVENT + @$(call install_lib, libwebsockets, 0, 0, 0644, libwebsockets-evlib_event) +endif +ifdef PTXCONF_LIBWEBSOCKETS_GLIB + @$(call install_lib, libwebsockets, 0, 0, 0644, libwebsockets-evlib_glib) +endif + + @$(call install_finish, libwebsockets) + + @$(call touch) + +# vim: syntax=make -- 2.43.0