diff --git a/0001-tests-bench-Makefile-add-xxhash_dyn-target-CLI-linke.patch b/0001-tests-bench-Makefile-add-xxhash_dyn-target-CLI-linke.patch new file mode 100644 index 0000000000000000000000000000000000000000..c8da893480137bd0aa03f428cd3fa7003f70351f --- /dev/null +++ b/0001-tests-bench-Makefile-add-xxhash_dyn-target-CLI-linke.patch @@ -0,0 +1,63 @@ +From 4c5db47981f3b9108db04a6b0ad4ec4bf7c5bfcc Mon Sep 17 00:00:00 2001 +From: xionghuluo +Date: Thu, 12 Mar 2026 15:20:49 +0800 +Subject: [PATCH] tests/bench/Makefile: add xxhash_dyn target (CLI linked + against libxxhash.so) + +--- + tests/bench/Makefile | 32 ++++++++++++++++++++++++++++++++ + 1 file changed, 32 insertions(+) + +diff --git a/tests/bench/Makefile b/tests/bench/Makefile +index 4eb7467..e324fac 100644 +--- a/tests/bench/Makefile ++++ b/tests/bench/Makefile +@@ -26,6 +26,12 @@ + # measuring throughput, latency and bandwidth + # ################################################################ + ++# Extension for Windows ++ifneq (,$(filter Windows%,$(OS))) ++EXT =.exe ++else ++EXT = ++endif + + CPPFLAGS += -I../.. # directory of xxHash source files + CFLAGS ?= -O3 +@@ -63,6 +69,32 @@ bhDisplay.o: bhDisplay.h benchHash.h + + benchHash.o: benchHash.h + ++# xxhash_dyn: CLI binary linked against libxxhash.so (for PGO profiling the shared library) ++XXHASH_ROOT = ../.. ++XXHASH_DYN_SRCS = $(XXHASH_ROOT)/cli/xxhsum.c $(XXHASH_ROOT)/cli/xsum_os_specific.c \ ++ $(XXHASH_ROOT)/cli/xsum_output.c $(XXHASH_ROOT)/cli/xsum_sanity_check.c \ ++ $(XXHASH_ROOT)/cli/xsum_bench.c ++XXHASH_DYN_OBJS = dyn_xxhsum.o dyn_xsum_os_specific.o dyn_xsum_output.o \ ++ dyn_xsum_sanity_check.o dyn_xsum_bench.o ++ ++.PHONY: libxxhash_in_parent xxhash_dyn ++libxxhash_in_parent: ++ $(MAKE) -C $(XXHASH_ROOT) lib ++ ++dyn_xxhsum.o: $(XXHASH_ROOT)/cli/xxhsum.c $(XXHASH_ROOT)/xxhash.h $(XXHASH_ROOT)/cli/xsum_config.h $(XXHASH_ROOT)/cli/xsum_arch.h ++ $(CC) $(CFLAGS) $(CPPFLAGS) -I$(XXHASH_ROOT) -I$(XXHASH_ROOT)/cli -c -o $@ $(XXHASH_ROOT)/cli/xxhsum.c ++dyn_xsum_os_specific.o: $(XXHASH_ROOT)/cli/xsum_os_specific.c $(XXHASH_ROOT)/cli/xsum_os_specific.h ++ $(CC) $(CFLAGS) $(CPPFLAGS) -I$(XXHASH_ROOT) -I$(XXHASH_ROOT)/cli -c -o $@ $(XXHASH_ROOT)/cli/xsum_os_specific.c ++dyn_xsum_output.o: $(XXHASH_ROOT)/cli/xsum_output.c $(XXHASH_ROOT)/cli/xsum_output.h ++ $(CC) $(CFLAGS) $(CPPFLAGS) -I$(XXHASH_ROOT) -I$(XXHASH_ROOT)/cli -c -o $@ $(XXHASH_ROOT)/cli/xsum_output.c ++dyn_xsum_sanity_check.o: $(XXHASH_ROOT)/cli/xsum_sanity_check.c $(XXHASH_ROOT)/cli/xsum_sanity_check.h ++ $(CC) $(CFLAGS) $(CPPFLAGS) -I$(XXHASH_ROOT) -I$(XXHASH_ROOT)/cli -c -o $@ $(XXHASH_ROOT)/cli/xsum_sanity_check.c ++dyn_xsum_bench.o: $(XXHASH_ROOT)/cli/xsum_bench.c $(XXHASH_ROOT)/cli/xsum_bench.h ++ $(CC) $(CFLAGS) $(CPPFLAGS) -I$(XXHASH_ROOT) -I$(XXHASH_ROOT)/cli -c -o $@ $(XXHASH_ROOT)/cli/xsum_bench.c ++ ++xxhash_dyn: libxxhash_in_parent $(XXHASH_DYN_OBJS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -L$(XXHASH_ROOT) $(XXHASH_DYN_OBJS) -lxxhash -o xxhash_dyn$(EXT) + + clean: + $(RM) *.o benchHash benchHash32 benchHash_avx2 benchHash_hw ++ $(RM) xxhash_dyn$(EXT) dyn_*.o +-- +2.43.5 + diff --git a/xxhash.spec b/xxhash.spec index 7e1f4af85569234ff47c474a78e77b7110e42d90..b71cbf1a74ddf67f9930633c9dd719bb5e44b10d 100644 --- a/xxhash.spec +++ b/xxhash.spec @@ -7,12 +7,13 @@ Summary: Extremely fast hash algorithm Name: xxhash Version: 0.8.2 -Release: 4%{?dist} +Release: 5%{?dist} License: BSD and GPLv2+ URL: http://www.xxhash.com/ Source0: https://github.com/Cyan4973/xxHash/archive/v%{version}/xxhash-%{version}.tar.gz +Patch0: 0001-tests-bench-Makefile-add-xxhash_dyn-target-CLI-linke.patch -BuildRequires: make gcc +BuildRequires: make gcc gcc-c++ %description This package implements a fast Hash algorithm, running at RAM speed limits. The algorithm @@ -41,9 +42,12 @@ Development files for the xxhash library %prep %autosetup -p1 -n xxHash-%{version} +%patch -P 0 -p1 -F3 %build %make_build MOREFLAGS="%{__global_cflags} %{?__global_ldflags}" DISPATCH=%{dispatch} +make -C tests/bench xxhash_dyn MOREFLAGS="%{__global_cflags} %{?__global_ldflags}" +make -C tests/bench MOREFLAGS="%{__global_cflags} %{?__global_ldflags}" %install %make_install PREFIX=%{_prefix} LIBDIR=%{_libdir} @@ -71,6 +75,9 @@ make test-xxhsum-c %{_libdir}/pkgconfig/libxxhash.pc %changelog +* Thu Mar 12 2026 Xionghu Luo - 0.8.2-5 +- enable benchmark build + * Thu Sep 26 2024 OpenCloudOS Release Engineering - 0.8.2-4 - Rebuilt for clarifying the packages requirement in BaseOS and AppStream