Files
Alexandru Ardelean c5656a3023 fio: update to 3.42
Remove <linux/prctl.h> from backend.c via Build/Prepare sed: both
<linux/prctl.h> and <sys/prctl.h> define struct prctl_mm_map in newer
musl toolchains, causing a redefinition build error. sys/prctl.h alone
provides everything fio needs.

Changelog: https://github.com/axboe/fio/blob/fio-3.42/HOWTO.rst

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-05-10 11:32:19 +03:00

74 lines
1.8 KiB
Makefile

#
# Copyright (C) 2018 Daniel Engberg <daniel.engberg.lists@pyret.net>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=fio
PKG_VERSION:=3.42
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://brick.kernel.dk/snaps
PKG_HASH:=ac126c69fde515a3da3f71817562715df9001e79f2008ed98a17eac340cd3f66
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/fio
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Disc
DEPENDS:=+libaio +zlib +libatomic
TITLE:=I/O testing and benchmarking tool
URL:=https://github.com/axboe/fio
endef
define Package/fio/description
Fio is an I/O testing tool that will spawn a number of threads or
processes doing a particular type of I/O action as specified by
the user. Fio can be driven by a 'job file' describing the I/O
load one wants to simulate.
endef
TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS))
TARGET_LDFLAGS += -Wl,--gc-sections -latomic
CONFIGURE_ARGS = \
--disable-numa \
--disable-rdma \
--disable-rados \
--disable-http \
--disable-rbd \
--disable-gfapi \
--disable-lex \
--disable-pmem \
--disable-native \
--disable-shm \
--disable-optimizations \
--disable-tcmalloc \
--cc="$(TARGET_CC)" \
--extra-cflags="$(TARGET_CFLAGS)" \
--prefix="$(CONFIGURE_PREFIX)"
define Build/Prepare
$(call Build/Prepare/Default)
$(SED) '/#include <linux\/prctl.h>/d' $(PKG_BUILD_DIR)/backend.c
endef
define Package/fio/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fio $(1)/usr/bin/
endef
$(eval $(call BuildPackage,fio))