![Romain Naour](/assets/img/avatar_default.png)
The previous patch [1] didn't take into acount the static build only
scenario. It tries to unconditionally install a shared library.
Handle the install step like for bzip2 package: install the shared
library only if BR2_SHARED_LIBS or BR2_SHARED_STATIC_LIBS is set and
install the static library only if BR2_STATIC_LIBS or
BR2_SHARED_STATIC_LIBS is set.
[1] 96daacb720
Fixes:
http://autobuild.buildroot.net/results/6be/6be8024dd664af83fcf49ede29c8ad59a37f73d1
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
70 lines
2 KiB
Makefile
70 lines
2 KiB
Makefile
################################################################################
|
|
#
|
|
# hiredis
|
|
#
|
|
################################################################################
|
|
|
|
HIREDIS_VERSION_MAJOR = 0.13
|
|
HIREDIS_VERSION = v$(HIREDIS_VERSION_MAJOR).3
|
|
HIREDIS_SITE = $(call github,redis,hiredis,$(HIREDIS_VERSION))
|
|
HIREDIS_LICENSE = BSD-3-Clause
|
|
HIREDIS_LICENSE_FILES = COPYING
|
|
HIREDIS_INSTALL_STAGING = YES
|
|
|
|
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
|
|
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)/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))
|