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 <oliver@schinagl.nl>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Olliver Schinagl
2023-01-13 10:50:30 +01:00
parent 9a59bf3528
commit 62e150949f
2 changed files with 13 additions and 7 deletions

View File

@@ -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))