diff --git a/meta-oe/recipes-benchmark/unixbench/unixbench/0001-skip-make-checks.patch b/meta-oe/recipes-benchmark/unixbench/unixbench/0001-skip-make-checks.patch new file mode 100644 index 0000000000..bf0a9558f8 --- /dev/null +++ b/meta-oe/recipes-benchmark/unixbench/unixbench/0001-skip-make-checks.patch @@ -0,0 +1,32 @@ +From: Vaibhav Jindal +Date: Mon, 1 Jan 2024 00:00:00 +0000 +Subject: [PATCH] Skip make checks for prebuilt Yocto package + +The UnixBench Run script expects a source tree and invokes +'make check' and 'make all'. In Yocto, binaries are prebuilt +during do_compile() and only runtime artifacts are installed. +Skip the build verification step. + +Upstream-Status: Inappropriate [cross-compilation] + +diff --git a/UnixBench/Run b/UnixBench/Run +index 898eb5c..fb24263 100755 +--- a/UnixBench/Run ++++ b/UnixBench/Run +@@ -1037,16 +1037,6 @@ sub preChecks { + # Set the language. + $ENV{'LANG'} = $language; + +- # Check that the required files are in the proper places. +- my $make = $ENV{MAKE} || "make"; +- system("$make check"); +- if ($? != 0) { +- system("$make all"); +- if ($? != 0) { +- abortRun("\"$make all\" failed"); +- } +- } +- + # Create a script to kill this run. + system("echo \"kill -9 $$\" > \"${TMPDIR}/kill_run\""); + chmod(0755, $TMPDIR . "/kill_run"); diff --git a/meta-oe/recipes-benchmark/unixbench/unixbench_git.bb b/meta-oe/recipes-benchmark/unixbench/unixbench_git.bb new file mode 100644 index 0000000000..c119c1cf43 --- /dev/null +++ b/meta-oe/recipes-benchmark/unixbench/unixbench_git.bb @@ -0,0 +1,65 @@ +SUMMARY = "BYTE UNIX Benchmark Suite" +DESCRIPTION = "UnixBench is the original BYTE UNIX benchmark suite that provides a basic indicator of the performance of a Unix-like system. It includes tests for CPU, memory, I/O, and graphics performance." +HOMEPAGE = "https://github.com/kdlucas/byte-unixbench" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = " \ + git://github.com/kdlucas/byte-unixbench.git;protocol=https;nobranch=1 \ + file://0001-skip-make-checks.patch \ +" +SRCREV = "e949d4402f76b4bc9b7b114418faace882f0ef12" + +do_configure[noexec] = "1" + +RDEPENDS:${PN} += " \ + perl \ + perl-modules \ +" + +INSANE_SKIP:${PN} = "ldflags" + +do_compile() { + oe_runmake -C ${S}/UnixBench \ + CC="${CC}" \ + AS="${AS}" \ + AR="${AR}" \ + LD="${CC}" \ + UB_GCC_OPTIONS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS} -lm" \ + all +} + +do_install() { + # Install UnixBench under datadir to preserve directory structure + install -d ${D}${datadir}/unixbench/pgms + install -d ${D}${datadir}/unixbench/testdir + install -d ${D}${datadir}/unixbench/results + install -d ${D}${datadir}/unixbench/tmp + + # Install UnixBench binaries under pgms/ directory + for binary in arithoh register short int long float double hanoi syscall context1 pipe spawn execl dhry2 dhry2reg looper fstime whetstone-double; do + if [ -f ${S}/UnixBench/pgms/${binary} ]; then + install -m 0755 ${S}/UnixBench/pgms/${binary} ${D}${datadir}/unixbench/pgms/${binary} + fi + done + + # Install Run script + install -m 0755 ${S}/UnixBench/Run ${D}${datadir}/unixbench/Run + + # Install test scripts + install -m 0755 ${S}/UnixBench/pgms/multi.sh ${D}${datadir}/unixbench/pgms/ + install -m 0755 ${S}/UnixBench/pgms/tst.sh ${D}${datadir}/unixbench/pgms/ + install -m 0644 ${S}/UnixBench/pgms/index.base ${D}${datadir}/unixbench/pgms/ + install -m 0644 ${S}/UnixBench/pgms/unixbench.logo ${D}${datadir}/unixbench/pgms/ + + # Install test data files + install -m 0644 ${S}/UnixBench/testdir/sort.src ${D}${datadir}/unixbench/testdir/ + install -m 0644 ${S}/UnixBench/testdir/cctest.c ${D}${datadir}/unixbench/testdir/ + install -m 0644 ${S}/UnixBench/testdir/dc.dat ${D}${datadir}/unixbench/testdir/ + install -m 0644 ${S}/UnixBench/testdir/large.txt ${D}${datadir}/unixbench/testdir/ +} + +FILES:${PN} += " \ + ${datadir}/unixbench \ +" diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index 9363f36808..084d5a201f 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -78,6 +78,7 @@ RDEPENDS:packagegroup-meta-oe-benchmarks = "\ stressapptest \ tinymembench \ tiobench \ + unixbench \ whetstone \ wrk \ wrk2 \