Skip to contentSkip to conversation

package/hiredis: fix install step for static build only

PATCH New Romain Naour 3 participants 3 messages Apr 14, 2017 – Apr 24, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/hiredis: fix install step for static build only

The previous patch [1] didn't take into acount the static build only scenario. It try to install unconditionally 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] 96daacb720cffe1f83259462bef9d3da92925cd9

Fixes:
http://autobuild.buildroot.net/results/6be/6be8024dd664af83fcf49ede29c8ad59a37f73d1

Cc Fabrice Fontaine <[email protected]>
Cc Thomas Petazzoni <[email protected]>
---
 package/hiredis/hiredis.mk | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)
package/hiredis/hiredis.mk +23 -6
index c2be936..dd75742 100644
@@ -31,6 +31,26 @@ 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)
@@ -38,15 +58,12 @@ define HIREDIS_INSTALL_STAGING_CMDS
 		$(@D)/adapters $(HIREDIS_INCLUDE_DIR)
 	$(INSTALL) -D -m 0644 $(@D)/hiredis.pc \
 		$(STAGING_DIR)/usr/lib/pkgconfig/hiredis.pc
-	$(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
+	$(HIREDIS_INSTALL_STAGING_STATIC_LIB)
+	$(HIREDIS_INSTALL_STAGING_SHARED_LIB)
 endef
 
 define HIREDIS_INSTALL_TARGET_CMDS
-	$(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
+	$(HIREDIS_INSTALL_TARGET_SHARED_LIB)
 endef
 
 $(eval $(generic-package))
Signature · 1 line
2.9.3
#1 lore raw

PATCH 1/1 package/hiredis: fix install step for static build only

Hello,

Quoted 14 lines · Romain Naour

The previous patch [1] didn't take into acount the static build only scenario. It try to install unconditionally 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] 96daacb720cffe1f83259462bef9d3da92925cd9

Fixes:
http://autobuild.buildroot.net/results/6be/6be8024dd664af83fcf49ede29c8ad59a37f73d1

Quoted 6 lines
Cc Fabrice Fontaine <[email protected]>
Cc Thomas Petazzoni <[email protected]>
---
 package/hiredis/hiredis.mk | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 package/hiredis: fix install step for static build only

In reply to Romain Naour
Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Romain" == Romain Naour <[email protected]> writes:

The previous patch [1] didn't take into acount the static build only scenario. It try to install unconditionally 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.

Quoted 8 lines

[1] 96daacb720cffe1f83259462bef9d3da92925cd9

Fixes:
http://autobuild.buildroot.net/results/6be/6be8024dd664af83fcf49ede29c8ad59a37f73d1

Cc Fabrice Fontaine <[email protected]>
Cc Thomas Petazzoni <[email protected]>

Committed to 2017.02.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard