package/cpp-httplib: new package

Signed-off-by: Aleksandr Makarov <aleksandr.o.makarov@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Aleksandr Makarov 2024-09-26 15:41:31 +03:00 committed by Thomas Petazzoni
parent 02ccc0d6f1
commit 2bcf0a9631
5 changed files with 72 additions and 0 deletions

View file

@ -81,6 +81,9 @@ F: package/libmbim/
F: package/libqmi/
F: package/modem-manager/
N: Aleksandr Makarov <aleksandr.o.makarov@gmail.com>
F: package/cpp-httplib/
N: Alessandro Partesotti <a.partesotti@gmail.com>
F: package/oatpp/

View file

@ -1999,6 +1999,7 @@ menu "Networking"
source "package/bluez5_utils-headers/Config.in"
source "package/c-ares/Config.in"
source "package/cni-plugins/Config.in"
source "package/cpp-httplib/Config.in"
source "package/cppzmq/Config.in"
source "package/curlpp/Config.in"
source "package/czmq/Config.in"

View file

@ -0,0 +1,21 @@
comment "cpp-httplib needs a toolchain w/ C++, wchar, threads"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_CPP_HTTPLIB
bool "cpp-httplib"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_WCHAR
help
A C++ header-only HTTP/HTTPS server and client library.
https://github.com/yhirose/cpp-httplib
if BR2_PACKAGE_CPP_HTTPLIB
config BR2_PACKAGE_CPP_HTTPLIB_COMPILE
bool "compile as a shared library"
select BR2_PACKAGE_HOST_PYTHON3
help
Build as library
endif # BR2_PACKAGE_CPP_HTTPLIB

View file

@ -0,0 +1,3 @@
# Locally computed:
sha256 6ed5894bbbc4a34a0f4c5e962672d0003d2ea099bbadacc66f6dee2b213ff394 cpp-httplib-0.18.0.tar.gz
sha256 4b45cbe16d7b71b89ae6127e26e0d90a029198ca5e958ad8e3d0b8bbed364d8b LICENSE

View file

@ -0,0 +1,44 @@
################################################################################
#
# cpp-httplib
#
################################################################################
CPP_HTTPLIB_VERSION = 0.18.0
CPP_HTTPLIB_SITE = $(call github,yhirose,cpp-httplib,v$(CPP_HTTPLIB_VERSION))
CPP_HTTPLIB_LICENSE = MIT
CPP_HTTPLIB_LICENSE_FILES = LICENSE
CPP_HTTPLIB_INSTALL_STAGING = YES
CPP_HTTPLIB_CONF_OPTS = \
-Dcpp-httplib_test=false
ifeq ($(BR2_PACKAGE_CPP_HTTPLIB_COMPILE),y)
CPP_HTTPLIB_CONF_OPTS += -Dcpp-httplib_compile=true
CPP_HTTPLIB_DEPENDENCIES += host-python3
else
# Header only library
CPP_HTTPLIB_INSTALL_TARGET = NO
endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
CPP_HTTPLIB_CONF_OPTS += -Dcpp-httplib_openssl=enabled
CPP_HTTPLIB_DEPENDENCIES += openssl
else
CPP_HTTPLIB_CONF_OPTS += -Dcpp-httplib_openssl=disabled
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
CPP_HTTPLIB_CONF_OPTS += -Dcpp-httplib_zlib=enabled
CPP_HTTPLIB_DEPENDENCIES += zlib
else
CPP_HTTPLIB_CONF_OPTS += -Dcpp-httplib_zlib=disabled
endif
ifeq ($(BR2_PACKAGE_BROTLI),y)
CPP_HTTPLIB_CONF_OPTS += -Dcpp-httplib_brotli=enabled
CPP_HTTPLIB_DEPENDENCIES += brotli
else
CPP_HTTPLIB_CONF_OPTS += -Dcpp-httplib_brotli=disabled
endif
$(eval $(meson-package))