package/libcpprestsdk: zlib is optional, not mandatory

The CMakeLists.txt contains:

  if(CPPREST_EXCLUDE_COMPRESSION)
  if(NOT CPPREST_EXCLUDE_BROTLI)
  message(FATAL_ERROR "Use of Brotli requires compression to be enabled")
  endif()

libcpprestsdk requires openssl, so if the libopenssl provider is
chosen, it anyway pulls in zlib. But if libressl is used as a
provider, it doesn't pull in zlib, and building libcpprestsdk becomes
possible without zlib thanks to this patch.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Fabrice Fontaine 2020-03-14 23:20:26 +01:00 committed by Thomas Petazzoni
parent e431e04c90
commit fe2b8e8a39
2 changed files with 8 additions and 2 deletions

View File

@ -14,7 +14,6 @@ config BR2_PACKAGE_LIBCPPRESTSDK
select BR2_PACKAGE_BOOST_REGEX select BR2_PACKAGE_BOOST_REGEX
select BR2_PACKAGE_BOOST_THREAD select BR2_PACKAGE_BOOST_THREAD
select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_ZLIB
help help
The C++ REST SDK is a Microsoft project for cloud-based The C++ REST SDK is a Microsoft project for cloud-based
client-server communication in native code using a modern client-server communication in native code using a modern

View File

@ -10,7 +10,7 @@ LIBCPPRESTSDK_LICENSE = MIT
LIBCPPRESTSDK_LICENSE_FILES = license.txt LIBCPPRESTSDK_LICENSE_FILES = license.txt
LIBCPPRESTSDK_SUBDIR = Release LIBCPPRESTSDK_SUBDIR = Release
LIBCPPRESTSDK_INSTALL_STAGING = YES LIBCPPRESTSDK_INSTALL_STAGING = YES
LIBCPPRESTSDK_DEPENDENCIES += host-pkgconf boost openssl zlib LIBCPPRESTSDK_DEPENDENCIES += host-pkgconf boost openssl
LIBCPPRESTSDK_CONF_OPTS = -DWERROR=OFF -DBUILD_SAMPLES=OFF LIBCPPRESTSDK_CONF_OPTS = -DWERROR=OFF -DBUILD_SAMPLES=OFF
ifeq ($(BR2_STATIC_LIBS),y) ifeq ($(BR2_STATIC_LIBS),y)
@ -25,12 +25,19 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
LIBCPPRESTSDK_CXXFLAGS += -latomic LIBCPPRESTSDK_CXXFLAGS += -latomic
endif endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
LIBCPPRESTSDK_DEPENDENCIES += zlib
LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_COMPRESSION=OFF
# brotli needs compression
ifeq ($(BR2_PACKAGE_BROTLI),y) ifeq ($(BR2_PACKAGE_BROTLI),y)
LIBCPPRESTSDK_DEPENDENCIES += brotli LIBCPPRESTSDK_DEPENDENCIES += brotli
LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_BROTLI=OFF LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_BROTLI=OFF
else else
LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_BROTLI=ON LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_BROTLI=ON
endif endif
else
LIBCPPRESTSDK_CONF_OPTS += -DCPPREST_EXCLUDE_COMPRESSION=ON
endif
ifeq ($(BR2_PACKAGE_WEBSOCKETPP),y) ifeq ($(BR2_PACKAGE_WEBSOCKETPP),y)
LIBCPPRESTSDK_DEPENDENCIES += websocketpp LIBCPPRESTSDK_DEPENDENCIES += websocketpp