From 62e150949fc01ae2327207fa98fae9c5cff6035c Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Fri, 13 Jan 2023 10:50:30 +0100 Subject: [PATCH] libdeflate: Avoid circular dependencies CMake depends on (libdeflate-)gunzip, libdeflate depends on Cmake, so we can't win. Luckily libdeflate is _very_ easy to build, without any build system, so lets just manually compile it and be done with it. Signed-off-by: Olliver Schinagl Signed-off-by: Rosen Penev --- tools/Makefile | 3 +-- tools/libdeflate/Makefile | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/tools/Makefile b/tools/Makefile index 7ca874aa91..7b3a8eb142 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -42,7 +42,6 @@ tools-y += findutils tools-y += firmware-utils tools-y += flex tools-y += gengetopt -tools-y += libdeflate tools-y += libressl tools-y += libtool tools-y += lzma @@ -98,7 +97,6 @@ $(curdir)/genext2fs/compile := $(curdir)/libtool/compile $(curdir)/gengetopt/compile := $(curdir)/libtool/compile $(curdir)/gmp/compile := $(curdir)/libtool/compile $(curdir)/isl/compile := $(curdir)/gmp/compile -$(curdir)/libdeflate/compile := $(curdir)/cmake/compile $(curdir)/liblzo/compile := $(curdir)/cmake/compile $(curdir)/libressl/compile := $(curdir)/pkgconf/compile $(curdir)/libtool/compile := $(curdir)/automake/compile $(curdir)/missing-macros/compile @@ -148,6 +146,7 @@ $(foreach tool, $(tools-y), $(if $(wildcard $(curdir)/$(tool)/patches),$(eval $( $(foreach tool, $(filter-out xz,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/xz/compile)) # make any tool depend on the following to ensure that archives can be unpacked and patched properly +tools-core += libdeflate tools-core += patch tools-core += tar tools-core += xz diff --git a/tools/libdeflate/Makefile b/tools/libdeflate/Makefile index 53137e2dab..53a674440a 100644 --- a/tools/libdeflate/Makefile +++ b/tools/libdeflate/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libdeflate PKG_VERSION:=1.17 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_URL:=https://github.com/ebiggers/libdeflate.git PKG_SOURCE_PROTO:=git @@ -16,16 +16,23 @@ PKG_SOURCE_VERSION:=v$(PKG_VERSION) PKG_MIRROR_HASH:=ee5790cf3140aa6a2e0f0c400d4b32539f13cb270e9357135c51927ba3784dc7 include $(INCLUDE_DIR)/host-build.mk -include $(INCLUDE_DIR)/cmake.mk + +define Host/Compile + $(HOSTCC_NOCACHE) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ + $(HOST_BUILD_DIR)/lib/*{,/*}.c \ + $(HOST_BUILD_DIR)/programs/{gzip,prog_util,tgetopt}.c \ + -o $(HOST_BUILD_DIR)/libdeflate-gzip +endef define Host/Install - $(INSTALL_BIN) $(HOST_BUILD_DIR)/programs/libdeflate-gzip $(STAGING_DIR_HOST)/bin/ + $(INSTALL_BIN) $(HOST_BUILD_DIR)/libdeflate-gzip $(STAGING_DIR_HOST)/bin/ $(LN) libdeflate-gzip $(STAGING_DIR_HOST)/bin/libdeflate-gunzip endef define Host/Uninstall - rm -f $(STAGING_DIR_HOST)/bin/libdeflate-gzip - rm -f $(STAGING_DIR_HOST)/bin/libdeflate-gunzip + $(RM) $(STAGING_DIR_HOST)/bin/libdeflate-gzip + $(RM) $(STAGING_DIR_HOST)/bin/libdeflate-gunzip + $(call Host/Uninstall/Default) endef $(eval $(call HostBuild)) -- 2.30.2