--- /dev/null
+From 0ce382c275b087e866517c003e565f8cc4855bdd Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sat, 29 Aug 2020 23:19:26 +0200
+Subject: [PATCH] CMakeLists.txt: do not force SHARED
+
+Allow the user to build static libraries by removing SHARED from
+ADD_LIBRARY calls.
+
+Here is an extract of
+https://cmake.org/cmake/help/latest/command/add_library.html:
+
+"If no type is given explicitly the type is STATIC or SHARED based on
+whether the current value of the variable BUILD_SHARED_LIBS is ON."
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: probably not upstreamable as is because it will
+conflict with https://github.com/redis/hiredis/pull/851. So, this patch
+will probably have to be reworked for 1.0.x]
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1beccc6..fed79fd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -40,7 +40,7 @@ IF(WIN32)
+ ADD_COMPILE_DEFINITIONS(_CRT_SECURE_NO_WARNINGS WIN32_LEAN_AND_MEAN)
+ ENDIF()
+
+-ADD_LIBRARY(hiredis SHARED ${hiredis_sources})
++ADD_LIBRARY(hiredis ${hiredis_sources})
+
+ SET_TARGET_PROPERTIES(hiredis
+ PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE
+@@ -97,7 +97,7 @@ IF(ENABLE_SSL)
+ FIND_PACKAGE(OpenSSL REQUIRED)
+ SET(hiredis_ssl_sources
+ ssl.c)
+- ADD_LIBRARY(hiredis_ssl SHARED
++ ADD_LIBRARY(hiredis_ssl
+ ${hiredis_ssl_sources})
+
+ IF (APPLE)
+--
+2.28.0
+
#
################################################################################
-HIREDIS_VERSION_MAJOR = 0.14
-HIREDIS_VERSION = $(HIREDIS_VERSION_MAJOR).1
+HIREDIS_VERSION_MAJOR = 1.0
+HIREDIS_VERSION = $(HIREDIS_VERSION_MAJOR).0
HIREDIS_SITE = $(call github,redis,hiredis,v$(HIREDIS_VERSION))
HIREDIS_LICENSE = BSD-3-Clause
HIREDIS_LICENSE_FILES = COPYING
HIREDIS_INSTALL_STAGING = YES
+HIREDIS_CONF_OPTS = -DDISABLE_TESTS=ON
-HIREDIS_MAKE_OPTS = \
- $(TARGET_CONFIGURE_OPTS) \
- PREFIX=/usr
-
-HIREDIS_TARGETS = hiredis.pc
-ifeq ($(BR2_STATIC_LIBS),y)
-HIREDIS_TARGETS += static
-else ifeq ($(BR2_SHARED_LIBS),y)
-HIREDIS_TARGETS += dynamic
-else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
-HIREDIS_TARGETS += dynamic static
-endif
-
-define HIREDIS_BUILD_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) $(HIREDIS_MAKE_OPTS) -C $(@D) \
- $(HIREDIS_TARGETS)
-endef
-
-HIREDIS_INCLUDE_DIR = $(STAGING_DIR)/usr/include/hiredis
-
-ifeq ($(BR2_SHARED_LIBS),)
-define HIREDIS_INSTALL_STAGING_STATIC_LIB
- $(INSTALL) -D -m 0755 $(@D)/libhiredis.a \
- $(STAGING_DIR)/usr/lib/libhiredis.a
-endef
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+HIREDIS_CONF_OPTS += -DENABLE_SSL=ON
+HIREDIS_DEPENDENCIES += openssl
+else
+HIREDIS_CONF_OPTS += -DENABLE_SSL=OFF
endif
-ifeq ($(BR2_STATIC_LIBS),)
-define HIREDIS_INSTALL_STAGING_SHARED_LIB
- $(INSTALL) -D -m 0755 $(@D)/libhiredis.so \
- $(STAGING_DIR)/usr/lib/libhiredis.so.$(HIREDIS_VERSION_MAJOR)
- ln -sf libhiredis.so.$(HIREDIS_VERSION_MAJOR) $(STAGING_DIR)/usr/lib/libhiredis.so
-endef
-define HIREDIS_INSTALL_TARGET_SHARED_LIB
- $(INSTALL) -D -m 0755 $(@D)/libhiredis.so \
- $(TARGET_DIR)/usr/lib/libhiredis.so.$(HIREDIS_VERSION_MAJOR)
- ln -sf libhiredis.so.$(HIREDIS_VERSION_MAJOR) $(TARGET_DIR)/usr/lib/libhiredis.so
-endef
-endif
-
-# Do not call make install as this target will build shared and static libraries
-define HIREDIS_INSTALL_STAGING_CMDS
- mkdir -p $(HIREDIS_INCLUDE_DIR)
- cp -dpfr $(@D)/hiredis.h $(@D)/async.h $(@D)/read.h $(@D)/sds.h \
- $(@D)/alloc.h $(@D)/adapters $(HIREDIS_INCLUDE_DIR)
- $(INSTALL) -D -m 0644 $(@D)/hiredis.pc \
- $(STAGING_DIR)/usr/lib/pkgconfig/hiredis.pc
- $(HIREDIS_INSTALL_STAGING_STATIC_LIB)
- $(HIREDIS_INSTALL_STAGING_SHARED_LIB)
-endef
-
-define HIREDIS_INSTALL_TARGET_CMDS
- $(HIREDIS_INSTALL_TARGET_SHARED_LIB)
-endef
-
-$(eval $(generic-package))
+$(eval $(cmake-package))