mirror of
https://git.busybox.net/buildroot.git
synced 2024-12-04 02:43:30 +08:00
bef6d517fb
Currently, we can build a static-only zlib, but not a shared-only one. This is because zlib's build-system is a custom ./configure (not using autotools), and does not allow building/installing only the shared library. Simply remove the .a as a post-staging install hook. We don't care removing it from target, since it is not used at link time to build other packages, and it is anyway removed later before assembling the filesystem images anyway. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
78 lines
1.9 KiB
Makefile
78 lines
1.9 KiB
Makefile
################################################################################
|
|
#
|
|
# zlib
|
|
#
|
|
################################################################################
|
|
|
|
ZLIB_VERSION = 1.2.8
|
|
ZLIB_SOURCE = zlib-$(ZLIB_VERSION).tar.xz
|
|
ZLIB_SITE = http://downloads.sourceforge.net/project/libpng/zlib/$(ZLIB_VERSION)
|
|
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
|
|
else
|
|
ZLIB_PIC = -fPIC
|
|
ZLIB_SHARED = --shared
|
|
endif
|
|
|
|
define ZLIB_CONFIGURE_CMDS
|
|
(cd $(@D); rm -rf config.cache; \
|
|
$(TARGET_CONFIGURE_ARGS) \
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
CFLAGS="$(TARGET_CFLAGS) $(ZLIB_PIC)" \
|
|
./configure \
|
|
$(ZLIB_SHARED) \
|
|
--prefix=/usr \
|
|
)
|
|
endef
|
|
|
|
define HOST_ZLIB_CONFIGURE_CMDS
|
|
(cd $(@D); rm -rf config.cache; \
|
|
$(HOST_CONFIGURE_ARGS) \
|
|
$(HOST_CONFIGURE_OPTS) \
|
|
./configure \
|
|
--prefix="$(HOST_DIR)/usr" \
|
|
--sysconfdir="$(HOST_DIR)/etc" \
|
|
)
|
|
endef
|
|
|
|
define ZLIB_BUILD_CMDS
|
|
$(MAKE1) -C $(@D)
|
|
endef
|
|
|
|
define HOST_ZLIB_BUILD_CMDS
|
|
$(MAKE1) -C $(@D)
|
|
endef
|
|
|
|
define ZLIB_INSTALL_STAGING_CMDS
|
|
$(MAKE1) -C $(@D) DESTDIR=$(STAGING_DIR) LDCONFIG=true install
|
|
endef
|
|
|
|
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
|
|
|
|
$(eval $(generic-package))
|
|
$(eval $(host-generic-package))
|