Often lz4 is used as a library, and not as a standalone program. Excluding lz4 binary will save some space in this case. Indeed, the lz4 program is always statically linked against its library, which makes it duplicate the whole library size: $ ls -l usr/lib/liblz4.so.1.9.2 usr/bin/lz4 -rwxr-xr-x 1 thomas thomas 226724 27 juil. 16:33 usr/bin/lz4 -rwxr-xr-x 1 thomas thomas 156996 27 juil. 16:33 usr/lib/liblz4.so.1.9.2 Since lz4 is now primarily a library, it's moved to the "Libraries" section. Of course, installation of programs defaults to "yes" to preserve backward compatibility. Signed-off-by: Ed Spiridonov <edo.rus@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
62 lines
1.8 KiB
Makefile
62 lines
1.8 KiB
Makefile
################################################################################
|
|
#
|
|
# lz4
|
|
#
|
|
################################################################################
|
|
|
|
LZ4_VERSION = 1.9.2
|
|
LZ4_SITE = $(call github,lz4,lz4,v$(LZ4_VERSION))
|
|
LZ4_INSTALL_STAGING = YES
|
|
LZ4_LICENSE = BSD-2-Clause (library), GPL-2.0+ (programs)
|
|
LZ4_LICENSE_FILES = lib/LICENSE programs/COPYING
|
|
|
|
# CVE-2014-4715 is misclassified (by our CVE tracker) as affecting version
|
|
# 1.9.2, while in fact this issue has been fixed since lz4-r130:
|
|
# https://github.com/lz4/lz4/commit/140e6e72ddb6fc5f7cd28ce0c8ec3812ef4a9c08
|
|
# See https://github.com/lz4/lz4/issues/818
|
|
LZ4_IGNORE_CVES += CVE-2014-4715
|
|
|
|
ifeq ($(BR2_STATIC_LIBS),y)
|
|
LZ4_MAKE_OPTS += BUILD_SHARED=no
|
|
else ifeq ($(BR2_SHARED_LIBS),y)
|
|
LZ4_MAKE_OPTS += BUILD_STATIC=no
|
|
endif
|
|
|
|
define HOST_LZ4_BUILD_CMDS
|
|
$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) lib
|
|
$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) lz4
|
|
endef
|
|
|
|
define HOST_LZ4_INSTALL_CMDS
|
|
$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) PREFIX=$(HOST_DIR) \
|
|
install -C $(@D)
|
|
endef
|
|
|
|
ifeq ($(BR2_PACKAGE_LZ4_PROGS),y)
|
|
LZ4_BUILD_TARGETS = lib lz4
|
|
LZ4_INSTALL_OPTS = install -C $(@D)
|
|
else
|
|
LZ4_BUILD_TARGETS = lib
|
|
LZ4_INSTALL_OPTS = install -C $(@D)/lib
|
|
endif
|
|
|
|
define LZ4_BUILD_CMDS
|
|
$(foreach target,$(LZ4_BUILD_TARGETS),\
|
|
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(LZ4_MAKE_OPTS) \
|
|
-C $(@D) $(target)
|
|
)
|
|
endef
|
|
|
|
define LZ4_INSTALL_STAGING_CMDS
|
|
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) DESTDIR=$(STAGING_DIR) \
|
|
PREFIX=/usr $(LZ4_MAKE_OPTS) $(LZ4_INSTALL_OPTS)
|
|
endef
|
|
|
|
define LZ4_INSTALL_TARGET_CMDS
|
|
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) DESTDIR=$(TARGET_DIR) \
|
|
PREFIX=/usr $(LZ4_MAKE_OPTS) $(LZ4_INSTALL_OPTS)
|
|
endef
|
|
|
|
$(eval $(generic-package))
|
|
$(eval $(host-generic-package))
|