diff --git a/package/iozone/iozone.mk b/package/iozone/iozone.mk index ae8490df..d8601e32 100644 --- a/package/iozone/iozone.mk +++ b/package/iozone/iozone.mk @@ -4,22 +4,32 @@ # ################################################################################ -IOZONE_VERSION = 3_490 +IOZONE_VERSION = 3_493 IOZONE_DIR = iozone$(IOZONE_VERSION) -IOZONE_SOURCE = iozone$(IOZONE_VERSION).tar +IOZONE_SOURCE = iozone$(IOZONE_VERSION).tgz IOZONE_SITE = http://www.iozone.org/src/current -$(DL_DIR)/$(IOZONE_SOURCE): - $(download) $(IOZONE_SITE)/$(IOZONE_SOURCE) +# AIO support not available on uClibc, use the linux (non-aio) target. +ifeq ($(BOXTYPE),coolstream) +IOZONE_TARGET = linux-noaio +else +IOZONE_TARGET = linux-arm +endif -iozone: $(DL_DIR)/$(IOZONE_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR)/src/current; \ - $(SED) "s/= gcc/= $(TARGET_CC)/" makefile; \ - $(SED) "s/= cc/= $(TARGET_CC)/" makefile; \ +define IOZONE_PATCH_MAKEFILE + $(SED) "s/= gcc/= $(TARGET_CC)/" $(PKG_BUILD_DIR)/src/current/makefile + $(SED) "s/= cc/= $(TARGET_CC)/" $(PKG_BUILD_DIR)/src/current/makefile +endef +IOZONE_POST_PATCH_HOOKS += IOZONE_PATCH_MAKEFILE + +define IOZONE_INSTALL_BINARY + $(INSTALL_EXEC) -D $(PKG_BUILD_DIR)/src/current/iozone $(TARGET_bindir)/iozone +endef +IOZONE_PRE_FOLLOWUP_HOOKS += IOZONE_INSTALL_BINARY + +iozone: | $(TARGET_DIR) + $(call PREPARE) + $(CHDIR)/$($(PKG)_DIR)/src/current; \ $(TARGET_CONFIGURE_ENV) \ - $(MAKE) linux-arm; \ - $(INSTALL_EXEC) -D iozone $(TARGET_bindir)/iozone - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(MAKE) $($(PKG)_TARGET) + $(call TARGET_FOLLOWUP) diff --git a/package/iozone/patches/0001-Add-new-targets-for-iozone.patch b/package/iozone/patches/0001-Add-new-targets-for-iozone.patch new file mode 100644 index 00000000..3cc184ec --- /dev/null +++ b/package/iozone/patches/0001-Add-new-targets-for-iozone.patch @@ -0,0 +1,103 @@ +From 5b1e973b2333e838624abf195b3ba9716591f304 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Sun, 10 Oct 2021 10:15:26 +0200 +Subject: [PATCH] Add new targets for iozone: + +linux-noaio is for linux targets without AIO (use case: uClibc) +linux-noth is for linux target without threads or AIO + +And make largefile support optional via CFLAGS. + +Signed-off-by: Gustavo Zacarias +Signed-off-by: Gilles Talis +--- + src/current/makefile | 56 +++++++++++++++++++++++++++++++++++++------- + 1 file changed, 47 insertions(+), 9 deletions(-) + +diff --git a/src/current/makefile b/src/current/makefile +index 3a54701..3b17b1b 100644 +--- a/src/current/makefile ++++ b/src/current/makefile +@@ -172,10 +172,28 @@ hpux_no_ansi: iozone_hpux_no.o libbif.o + # GNU 'C' compiler Linux build with threads, largefiles, async I/O + # + linux: iozone_linux.o libasync.o libbif.o fileop_linux.o pit_server.o +- $(CC) -O3 $(CFLAGS) iozone_linux.o libasync.o libbif.o -lpthread \ ++ $(CC) $(CFLAGS) $(LDFLAGS) iozone_linux.o libasync.o libbif.o \ ++ -lpthread -lrt -o iozone ++ $(CC) $(CFLAGS) -Dlinux fileop_linux.o -o fileop ++ $(CC) $(CFLAGS) -Dlinux pit_server.o -o pit_server ++ ++# ++# GNU 'C' compiler Linux build with threads, largefiles ++# ++linux-noaio: iozone_linux-noaio.o libbif.o fileop_linux.o pit_server.o ++ $(CC) $(CFLAGS) $(LDFLAGS) iozone_linux-noaio.o libbif.o \ ++ -lpthread -lrt -o iozone ++ $(CC) $(CFLAGS) -Dlinux fileop_linux.o -o fileop ++ $(CC) $(CFLAGS) -Dlinux pit_server.o -o pit_server ++ ++# ++# GNU 'C' compiler Linux build with largefiles ++# ++linux-noth: iozone_linux-noth.o libbif.o fileop_linux.o pit_server.o ++ $(CC) $(CFLAGS) $(LDFLAGS) iozone_linux-noth.o libbif.o \ + -lrt -o iozone +- $(CC) -O3 $(CFLAGS) -Dlinux fileop_linux.o -o fileop +- $(CC) -O3 $(CFLAGS) -Dlinux pit_server.o -o pit_server ++ $(CC) $(CFLAGS) -Dlinux fileop_linux.o -o fileop ++ $(CC) $(CFLAGS) -Dlinux pit_server.o -o pit_server + + # + # GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O +@@ -841,13 +859,33 @@ iozone_linux.o: iozone.c libbif.c libasync.c + @echo "" + @echo "Building iozone for Linux" + @echo "" +- $(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ +- -DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ ++ -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ + -DNAME='"linux"' -o iozone_linux.o +- $(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO \ ++ -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ ++ $(CFLAGS) libasync.c -o libasync.o ++ ++iozone_linux-noaio.o: iozone.c libbif.c ++ @echo "" ++ @echo "Building iozone for Linux no AIO" ++ @echo "" ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DHAVE_PREAD \ ++ -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ ++ -DNAME='"linux"' -o iozone_linux-noaio.o ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C \ ++ -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o ++ ++iozone_linux-noth.o: iozone.c libbif.c ++ @echo "" ++ @echo "Building iozone for Linux with no threads" ++ @echo "" ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS -DHAVE_PREAD \ ++ -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ ++ -DNAME='"linux"' -o iozone_linux-noth.o ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS \ + -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o +- $(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ +- -D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c -o libasync.o + + fileop_AIX.o: fileop.c + @echo "" +@@ -951,7 +989,7 @@ fileop_linux.o: fileop.c + @echo "" + @echo "Building fileop for Linux" + @echo "" +- $(CC) -Wall -c -O3 $(CFLAGS) fileop.c -o fileop_linux.o ++ $(CC) -Wall -c $(CFLAGS) fileop.c -o fileop_linux.o + + fileop_openbsd.o: fileop.c + @echo "" +-- +2.27.0 +