lz4: bump to version 1.8.1.2
PATCH 1/2 lz4: bump to version 1.8.1.2
Use lib and lz4 make targets to avoid build of the manual generator, and the examples. Both of them use the target compiler to build host tools.
Add license files hashes.
--- package/lz4/lz4.hash | 4 +++- package/lz4/lz4.mk | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-)
package/lz4/lz4.hash +3 -1
@@ -1,2 +1,4 @@ # sha256 locally computed -sha256 0190cacd63022ccb86f44fa5041dc6c3804407ad61550ca21c382827319e7e7e lz4-v1.7.5.tar.gz +sha256 12f3a9e776a923275b2dc78ae138b4967ad6280863b77ff733028ce89b8123f9 lz4-v1.8.1.2.tar.gz +sha256 d15d99c8dc6b0ec22174c0e563a95bc40f9363ca7f9d9d793bb5c5a8e8d0af71 lib/LICENSE +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 programs/COPYING
package/lz4/lz4.mk +3 -3
@@ -4,7 +4,7 @@ # ################################################################################ -LZ4_VERSION = v1.7.5 +LZ4_VERSION = v1.8.1.2 LZ4_SITE = $(call github,lz4,lz4,$(LZ4_VERSION)) LZ4_INSTALL_STAGING = YES LZ4_LICENSE = BSD-2-Clause (library), GPL-2.0+ (programs)
@@ -18,7 +18,7 @@ LZ4_POST_PATCH_HOOKS += LZ4_DISABLE_SHARED endif define HOST_LZ4_BUILD_CMDS - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) all + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) lib lz4 endef define HOST_LZ4_INSTALL_CMDS
@@ -27,7 +27,7 @@ define HOST_LZ4_INSTALL_CMDS endef define LZ4_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) all + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) lib lz4 endef define LZ4_INSTALL_STAGING_CMDS
Signature · 1 line
2.17.0
PATCH 2/2 lz4: improve static only build support
The current method of supporting static only build, removal of all lines that match the SHARED regex from lib/Makefile, is crude and fragile. Instead, patch lib/Makefile to allow disable of shared libraries.
--- ...ib-allow-to-disable-shared-libraries.patch | 59 +++++++++++++++++++ package/lz4/lz4.mk | 17 +++--- 2 files changed, 67 insertions(+), 9 deletions(-) create mode 100644 package/lz4/0001-lib-allow-to-disable-shared-libraries.patch
package/lz4/0001-lib-allow-to-disable-shared-libraries.patch new file +59 -0
@@ -0,0 +1,59 @@ +From 95bde2a4ae4a92e984a5783ca1f09f44bf04fadb Mon Sep 17 00:00:00 2001 +From: Baruch Siach <[email protected]> +Date: Thu, 19 Apr 2018 12:28:11 +0300 +Subject: [PATCH] lib: allow to disable shared libraries + +Just like BUILD_STATIC=no disables static libraries, BUILD_SHARED=no +disabled shared libraries. This is useful to support toolchains that do +not support shared libraries. + +Signed-off-by: Baruch Siach <[email protected]> +--- +Upstream status: https://github.com/lz4/lz4/pull/504 + + lib/Makefile | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/lib/Makefile b/lib/Makefile +index dd33f50351a8..976d57cd75ed 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -42,6 +42,7 @@ LIBVER_MINOR := $(shell echo $(LIBVER_MINOR_SCRIPT)) + LIBVER_PATCH := $(shell echo $(LIBVER_PATCH_SCRIPT)) + LIBVER := $(shell echo $(LIBVER_SCRIPT)) + ++BUILD_SHARED:=yes + BUILD_STATIC:=yes + + CPPFLAGS+= -DXXH_NAMESPACE=LZ4_ +@@ -92,6 +93,7 @@ ifeq ($(BUILD_STATIC),yes) # can be disabled on command line + endif + + $(LIBLZ4): $(SRCFILES) ++ifeq ($(BUILD_SHARED),yes) # can be disabled on command line + @echo compiling dynamic library $(LIBVER) + ifneq (,$(filter Windows%,$(OS))) + @$(CC) $(FLAGS) -DLZ4_DLL_EXPORT=1 -shared $^ -o dll\[email protected] +@@ -102,6 +104,7 @@ else + @ln -sf $@ liblz4.$(SHARED_EXT_MAJOR) + @ln -sf $@ liblz4.$(SHARED_EXT) + endif ++endif + + liblz4: $(LIBLZ4) + +@@ -159,9 +162,11 @@ ifeq ($(BUILD_STATIC),yes) + @$(INSTALL_DATA) liblz4.a $(DESTDIR)$(LIBDIR)/liblz4.a + @$(INSTALL_DATA) lz4frame_static.h $(DESTDIR)$(INCLUDEDIR)/lz4frame_static.h + endif ++ifeq ($(BUILD_SHARED),yes) + @$(INSTALL_PROGRAM) liblz4.$(SHARED_EXT_VER) $(DESTDIR)$(LIBDIR) + @ln -sf liblz4.$(SHARED_EXT_VER) $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT_MAJOR) + @ln -sf liblz4.$(SHARED_EXT_VER) $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT) ++endif + @echo Installing headers in $(INCLUDEDIR) + @$(INSTALL_DATA) lz4.h $(DESTDIR)$(INCLUDEDIR)/lz4.h + @$(INSTALL_DATA) lz4hc.h $(DESTDIR)$(INCLUDEDIR)/lz4hc.h +-- +2.17.0 +
package/lz4/lz4.mk +8 -9
@@ -9,12 +9,10 @@ LZ4_SITE = $(call github,lz4,lz4,$(LZ4_VERSION)) LZ4_INSTALL_STAGING = YES LZ4_LICENSE = BSD-2-Clause (library), GPL-2.0+ (programs) LZ4_LICENSE_FILES = lib/LICENSE programs/COPYING +LZ4_MAKE_OPTS = DESTDIR=$(STAGING_DIR) PREFIX=/usr ifeq ($(BR2_STATIC_LIBS),y) -define LZ4_DISABLE_SHARED - $(SED) '/SHARED/d' $(@D)/lib/Makefile -endef -LZ4_POST_PATCH_HOOKS += LZ4_DISABLE_SHARED +LZ4_MAKE_OPTS += BUILD_SHARED=no endif define HOST_LZ4_BUILD_CMDS
@@ -27,17 +25,18 @@ define HOST_LZ4_INSTALL_CMDS endef define LZ4_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) lib lz4 + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(LZ4_MAKE_OPTS) \ + -C $(@D) lib lz4 endef define LZ4_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) DESTDIR=$(STAGING_DIR) \ - PREFIX=/usr install -C $(@D) + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(LZ4_MAKE_OPTS) \ + install -C $(@D) endef define LZ4_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) DESTDIR=$(TARGET_DIR) \ - PREFIX=/usr install -C $(@D) + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(LZ4_MAKE_OPTS) \ + install -C $(@D) endef $(eval $(generic-package))
Signature · 1 line
2.17.0
PATCH 2/2 lz4: improve static only build support
Hello Baruch,
Quoted 5 lines · Baruch Siach
The current method of supporting static only build, removal of all lines that match the SHARED regex from lib/Makefile, is crude and fragile. Instead, patch lib/Makefile to allow disable of shared libraries.
Signed-off-by Baruch Siach <[email protected]>
Thanks for cleaning this up, looks like a good idea. However...
Quoted 1 line
+LZ4_MAKE_OPTS = DESTDIR=$(STAGING_DIR) PREFIX=/usr
This looks weird. Why is DESTDIR needed at build time ? And how a DESTDIR=$(STAGING_DIR) in the INSTALL_TARGET_CMDS be the correct thing ?
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
PATCH 2/2 lz4: improve static only build support
Hi Thomas,
Quoted 5 lines · Thomas Petazzoni
Quoted 4 lines · Baruch Siach
The current method of supporting static only build, removal of all lines that match the SHARED regex from lib/Makefile, is crude and fragile. Instead, patch lib/Makefile to allow disable of shared libraries.
Quoted 8 lines
Quoted 1 line
Signed-off-by Baruch Siach <[email protected]>Thanks for cleaning this up, looks like a good idea. However...
Quoted 1 line
+LZ4_MAKE_OPTS = DESTDIR=$(STAGING_DIR) PREFIX=/usr
This looks weird. Why is DESTDIR needed at build time ? And how a DESTDIR=$(STAGING_DIR) in the
INSTALL_TARGET_CMDSbe the correct thing ?
It is not. Thanks for spotting. I'll fix and resend.
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -Thomas Petazzoni
AppliedPATCH 1/2 lz4: bump to version 1.8.1.2
In reply to Baruch SiachHello,
Quoted 10 lines · Baruch Siach
Use lib and lz4 make targets to avoid build of the manual generator, and the examples. Both of them use the target compiler to build host tools.
Add license files hashes.
Signed-off-by Baruch Siach <[email protected]>--- package/lz4/lz4.hash | 4 +++- package/lz4/lz4.mk | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com