File 0001-Build-with-system-liblz4.patch of Package lz4b

From b206dd3bb605d8ac739598fe8e1e4d594ace9853 Mon Sep 17 00:00:00 2001
From: Led <ledest@gmail.com>
Date: Mon, 2 Jun 2025 13:00:40 +0300
Subject: [PATCH 1/2] Build with system liblz4

---
 c_src/Makefile | 34 ++++++++--------------------------
 1 file changed, 8 insertions(+), 26 deletions(-)

diff --git a/c_src/Makefile b/c_src/Makefile
index 9907659..88e88b4 100644
--- a/c_src/Makefile
+++ b/c_src/Makefile
@@ -3,8 +3,7 @@
 CURDIR := $(shell pwd)
 BASEDIR := $(abspath $(CURDIR)/..)
 
-PROJECT ?= $(notdir $(BASEDIR))
-PROJECT := $(strip $(PROJECT))
+PROJECT = lz4b
 
 ERTS_INCLUDE_DIR ?= $(shell erl -noshell -eval "io:format(\"~ts/erts-~ts/include/\", [code:root_dir(), erlang:system_info(version)]), erlang:halt().")
 ERL_INTERFACE_INCLUDE_DIR ?= $(shell erl -noshell -eval "io:format(\"~ts\", [code:lib_dir(erl_interface, include)]), erlang:halt().")
@@ -13,36 +12,26 @@ ERL_INTERFACE_LIB_DIR ?= $(shell erl -noshell -eval "io:format(\"~ts\", [code:li
 C_SRC_DIR = $(CURDIR)
 C_SRC_OUTPUT ?= $(CURDIR)/../priv/$(PROJECT)_nif.so
 
-
-LZ4 ?= lz4
-LZ4_VSN ?= 1.10.0
-LZ4_SRC ?= $(LZ4)-$(LZ4_VSN)
-LZ4_SRC_TAR ?= v$(LZ4_VSN).tar.gz
-LZ4_SRC_PACKAGE_LINK ?= https://github.com/lz4/lz4/archive/$(LZ4_SRC_TAR)
-LZ4_OBJS := $(LZ4_SRC)/lib/*.o
 # System type and C compiler/flags.
 
 UNAME_SYS := $(shell uname -s)
 ifeq ($(UNAME_SYS), Darwin)
 	SYS_ARCH := $(shell uname -m)
 	CC ?= cc
-	CFLAGS ?= -O3 -std=c99 -arch $(SYS_ARCH) -finline-functions -Wall -Wmissing-prototypes
-	CXXFLAGS ?= -O3 -arch $(SYS_ARCH) -finline-functions -Wall
+	CFLAGS ?= -O2 -std=c99 -arch $(SYS_ARCH) -Wall -Wmissing-prototypes
 	LDFLAGS ?= -arch $(SYS_ARCH) -flat_namespace -undefined suppress
 else ifeq ($(UNAME_SYS), FreeBSD)
 	CC ?= cc
-	CFLAGS ?= -O3 -std=c99 -finline-functions -Wall -Wmissing-prototypes
-	CXXFLAGS ?= -O3 -finline-functions -Wall
+	CFLAGS ?= -O2 -std=c99 -Wall -Wmissing-prototypes
 else ifeq ($(UNAME_SYS), Linux)
 	CC ?= gcc
-	CFLAGS ?= -O3 -std=c99 -finline-functions -Wall -Wmissing-prototypes
-	CXXFLAGS ?= -O3 -finline-functions -Wall
+	CFLAGS ?= -O2 -std=c99 -Wall -Wmissing-prototypes
 endif
 
-CFLAGS += -fPIC -I $(ERTS_INCLUDE_DIR) -I $(ERL_INTERFACE_INCLUDE_DIR) -I$(C_SRC_DIR)/$(LZ4_SRC)/lib/
+CFLAGS += -fPIC -I $(ERTS_INCLUDE_DIR) -I $(ERL_INTERFACE_INCLUDE_DIR)
 CXXFLAGS += -fPIC -I $(ERTS_INCLUDE_DIR) -I $(ERL_INTERFACE_INCLUDE_DIR)
 
-LDLIBS += -L $(ERL_INTERFACE_LIB_DIR) -lei
+LDLIBS += -L $(ERL_INTERFACE_LIB_DIR) -lei -llz4
 LDFLAGS += -shared
 
 # Verbosity.
@@ -62,14 +51,9 @@ OBJECTS = $(addsuffix .o, $(basename $(SOURCES)))
 COMPILE_C = $(c_verbose) $(CC) $(CFLAGS) $(CPPFLAGS) -c
 COMPILE_CPP = $(cpp_verbose) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c
 
-$(C_SRC_OUTPUT): $(LZ4_SRC) $(OBJECTS)
+$(C_SRC_OUTPUT): $(OBJECTS)
 	@mkdir -p $(BASEDIR)/priv/
-	$(link_verbose) $(CC) $(LZ4_OBJS) $(OBJECTS) $(LDFLAGS) $(LDLIBS) -o $(C_SRC_OUTPUT)
-
-$(LZ4_SRC):
-	curl -L -f -o $(LZ4_SRC_TAR) $(LZ4_SRC_PACKAGE_LINK)
-	tar zxf $(LZ4_SRC_TAR)
-	$(MAKE) CFLAGS='-O3 -fPIC' -C $(LZ4_SRC) BUILD_STATIC=yes
+	$(link_verbose) $(CC) $(OBJECTS) $(LDFLAGS) $(LDLIBS) -o $(C_SRC_OUTPUT)
 
 %.o: %.c
 	$(COMPILE_C) $(OUTPUT_OPTION) $<
@@ -85,5 +69,3 @@ $(LZ4_SRC):
 
 clean:
 	@rm -f $(C_SRC_OUTPUT) $(OBJECTS)
-	@rm -f $(LZ4_SRC_TAR)
-	@rm -rf $(LZ4_SRC)
-- 
2.43.0

openSUSE Build Service is sponsored by