summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/zlib/zlib.mk13
1 files changed, 13 insertions, 0 deletions
diff --git a/package/zlib/zlib.mk b/package/zlib/zlib.mk
index 7c849cd53c..aec9daf6fe 100644
--- a/package/zlib/zlib.mk
+++ b/package/zlib/zlib.mk
@@ -11,6 +11,9 @@ ZLIB_LICENSE = zlib license
ZLIB_LICENSE_FILES = README
ZLIB_INSTALL_STAGING = YES
+# It is not possible to build only a shared version of zlib, so we build both
+# shared and static, unless we only want the static libs, and we eventually
+# selectively remove what we do not want
ifeq ($(BR2_STATIC_LIBS),y)
ZLIB_PIC =
ZLIB_SHARED = --static
@@ -56,6 +59,16 @@ define ZLIB_INSTALL_TARGET_CMDS
$(MAKE1) -C $(@D) DESTDIR=$(TARGET_DIR) LDCONFIG=true install
endef
+# We don't care removing the .a from target, since it not used at link
+# time to build other packages, and it is anyway removed later before
+# assembling the filesystem images anyway.
+ifeq ($(BR2_SHARED_LIBS),y)
+define ZLIB_RM_STATIC_STAGING
+ rm -f $(STAGING_DIR)/usr/lib/libz.a
+endef
+ZLIB_POST_INSTALL_STAGING_HOOKS += ZLIB_RM_STATIC_STAGING
+endif
+
define HOST_ZLIB_INSTALL_CMDS
$(MAKE1) -C $(@D) LDCONFIG=true install
endef
OpenPOWER on IntegriCloud