kumquat-buildroot/package/zstd/zstd.mk
Norbert Lange e464dc4033 package/zstd: bump to version 1.5.4
The LICENSE text has changed, nominally the copyright owner changed
from "Facebook" to "Meta Platforms, Inc. and affiliates",
reflecting the name change of that company.

Add upstream patch to fix zstd-dll build.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-02-21 09:40:39 +01:00

116 lines
3.3 KiB
Makefile

################################################################################
#
# zstd
#
################################################################################
ZSTD_VERSION = 1.5.4
ZSTD_SITE = https://github.com/facebook/zstd/releases/download/v$(ZSTD_VERSION)
ZSTD_INSTALL_STAGING = YES
ZSTD_LICENSE = BSD-3-Clause or GPL-2.0
ZSTD_LICENSE_FILES = LICENSE COPYING
ZSTD_CPE_ID_VENDOR = facebook
ZSTD_CPE_ID_PRODUCT = zstandard
ZSTD_OPTS += PREFIX=/usr
ZSTD_OPTS += ZSTD_LEGACY_SUPPORT=0
ifeq ($(BR2_PACKAGE_ZLIB),y)
ZSTD_DEPENDENCIES += zlib
ZSTD_OPTS += HAVE_ZLIB=1
else
ZSTD_OPTS += HAVE_ZLIB=0
endif
ifeq ($(BR2_PACKAGE_XZ),y)
ZSTD_DEPENDENCIES += xz
ZSTD_OPTS += HAVE_LZMA=1
else
ZSTD_OPTS += HAVE_LZMA=0
endif
ifeq ($(BR2_PACKAGE_LZ4),y)
ZSTD_DEPENDENCIES += lz4
ZSTD_OPTS += HAVE_LZ4=1
else
ZSTD_OPTS += HAVE_LZ4=0
endif
# zstd will append -O3 after $(CFLAGS), use MOREFLAGS to override again
ZSTD_OPTS += MOREFLAGS="$(TARGET_OPTIMIZATION)"
ZSTD_BUILD_LIBS_BASENAMES = libzstd.pc
ifeq ($(BR2_STATIC_LIBS),y)
ZSTD_BUILD_LIBS_BASENAMES += libzstd.a
ZSTD_INSTALL_LIBS = install-static
else ifeq ($(BR2_SHARED_LIBS),y)
ZSTD_BUILD_LIBS_BASENAMES += lib
ZSTD_INSTALL_LIBS = install-shared
else
ZSTD_BUILD_LIBS_BASENAMES += lib
ZSTD_INSTALL_LIBS = install-static install-shared
endif
# prefer zstd-dll unless no library is available
ifeq ($(BR2_STATIC_LIBS),y)
ZSTD_BUILD_PROG_TARGET = zstd-release
else
ZSTD_BUILD_PROG_TARGET = zstd-dll
endif
# The HAVE_THREAD flag is read by the 'programs' makefile but not by the 'lib'
# one. Building a multi-threaded binary with a static library (which defaults
# to single-threaded) gives a runtime error when compressing files.
# The 'lib' makefile provides specific '%-mt' and '%-nomt' targets for this
# purpose.
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
ZSTD_OPTS += HAVE_THREAD=1
ZSTD_BUILD_LIBS_THREAD_SUFFIX = -mt
else
ZSTD_OPTS += HAVE_THREAD=0
ZSTD_BUILD_LIBS_THREAD_SUFFIX = -nomt
endif
# check-package disable OverriddenVariable - override intended
ZSTD_BUILD_LIBS = \
$(addsuffix -release, \
$(addsuffix $(ZSTD_BUILD_LIBS_THREAD_SUFFIX), \
$(ZSTD_BUILD_LIBS_BASENAMES)))
define ZSTD_BUILD_CMDS
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
-C $(@D)/lib $(ZSTD_BUILD_LIBS)
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
-C $(@D)/programs $(ZSTD_BUILD_PROG_TARGET)
endef
define ZSTD_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
DESTDIR=$(STAGING_DIR) PREFIX=/usr -C $(@D)/lib \
install-pc install-includes $(ZSTD_INSTALL_LIBS)
endef
define ZSTD_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
DESTDIR=$(TARGET_DIR) -C $(@D)/programs install
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
DESTDIR=$(TARGET_DIR) -C $(@D)/lib $(ZSTD_INSTALL_LIBS)
endef
HOST_ZSTD_OPTS += PREFIX=$(HOST_DIR)
HOST_ZSTD_ENV = $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS)
# We are a ccache dependency, so we can't use ccache
HOST_ZSTD_ENV += CC="$(HOSTCC_NOCCACHE)" CXX="$(HOSTCXX_NOCCACHE)"
define HOST_ZSTD_BUILD_CMDS
$(HOST_ZSTD_ENV) $(MAKE) $(HOST_ZSTD_OPTS) \
-C $(@D) zstd-release lib-release
endef
define HOST_ZSTD_INSTALL_CMDS
$(HOST_ZSTD_ENV) $(MAKE) $(HOST_ZSTD_OPTS) \
-C $(@D) install
endef
$(eval $(generic-package))
$(eval $(host-generic-package))