From f274fb58800bc6d41e8ad7ff21adeb144bae4462 Mon Sep 17 00:00:00 2001 From: Philip Balister Date: Fri, 26 Mar 2021 10:08:27 -0400 Subject: fftw: Add support for ptest. * The bench program is installed then moved into the ptest ares so it links. Since we are building for all precisions, we need to build three versions of the bench program. Signed-off-by: Philip Balister Signed-off-by: Khem Raj --- .../recipes-support/fftw/fftw/club-libtool.patch | 9 +++++ .../recipes-support/fftw/fftw/install-bench.patch | 41 ++++++++++++++++++++++ meta-oe/recipes-support/fftw/fftw/run-ptest | 30 ++++++++++++++++ meta-oe/recipes-support/fftw/fftw_3.3.8.bb | 22 +++++++++++- 4 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-support/fftw/fftw/club-libtool.patch create mode 100644 meta-oe/recipes-support/fftw/fftw/install-bench.patch create mode 100644 meta-oe/recipes-support/fftw/fftw/run-ptest (limited to 'meta-oe/recipes-support/fftw') diff --git a/meta-oe/recipes-support/fftw/fftw/club-libtool.patch b/meta-oe/recipes-support/fftw/fftw/club-libtool.patch new file mode 100644 index 0000000000..d4a1ef8d03 --- /dev/null +++ b/meta-oe/recipes-support/fftw/fftw/club-libtool.patch @@ -0,0 +1,9 @@ +--- ./tests/Makefile.am.orig 2021-03-23 11:45:12.756371739 -0400 ++++ ./tests/Makefile.am 2021-03-23 11:46:43.224132851 -0400 +@@ -1,5 +1,5 @@ + AM_CPPFLAGS = -I $(top_srcdir) +-noinst_PROGRAMS = bench ++bin_PROGRAMS = bench@PREC_SUFFIX@ + EXTRA_DIST = check.pl README + + if THREADS diff --git a/meta-oe/recipes-support/fftw/fftw/install-bench.patch b/meta-oe/recipes-support/fftw/fftw/install-bench.patch new file mode 100644 index 0000000000..ef570b19d8 --- /dev/null +++ b/meta-oe/recipes-support/fftw/fftw/install-bench.patch @@ -0,0 +1,41 @@ +--- ./tests/Makefile.am.orig 2021-03-23 11:45:12.756371739 -0400 ++++ ./tests/Makefile.am 2021-03-23 19:29:19.692180793 -0400 +@@ -1,21 +1,21 @@ + AM_CPPFLAGS = -I $(top_srcdir) +-noinst_PROGRAMS = bench ++bin_PROGRAMS = bench@PREC_SUFFIX@ + EXTRA_DIST = check.pl README + + if THREADS +-bench_CFLAGS = $(PTHREAD_CFLAGS) ++bench@PREC_SUFFIX@_CFLAGS = $(PTHREAD_CFLAGS) + if !COMBINED_THREADS + LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_threads.la + endif + else + if OPENMP +-bench_CFLAGS = $(OPENMP_CFLAGS) ++bench@PREC_SUFFIX@_CFLAGS = $(OPENMP_CFLAGS) + LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_omp.la + endif + endif + +-bench_SOURCES = bench.c hook.c fftw-bench.c fftw-bench.h +-bench_LDADD = $(LIBFFTWTHREADS) \ ++bench@PREC_SUFFIX@_SOURCES = bench.c hook.c fftw-bench.c fftw-bench.h ++bench@PREC_SUFFIX@_LDADD = $(LIBFFTWTHREADS) \ + $(top_builddir)/libfftw3@PREC_SUFFIX@.la \ + $(top_builddir)/libbench2/libbench2.a $(THREADLIBS) + +--- ./tools/Makefile.am.orig 2021-03-24 08:22:31.845581620 -0400 ++++ ./tools/Makefile.am 2021-03-24 08:24:26.454053573 -0400 +@@ -24,7 +24,7 @@ + endif + + fftw@PREC_SUFFIX@_wisdom_SOURCES = fftw-wisdom.c +-fftw@PREC_SUFFIX@_wisdom_LDADD = $(top_builddir)/tests/bench-bench.o \ +-$(top_builddir)/tests/bench-fftw-bench.o $(LIBFFTWTHREADS) \ ++fftw@PREC_SUFFIX@_wisdom_LDADD = $(top_builddir)/tests/bench@PREC_SUFFIX@-bench.o \ ++$(top_builddir)/tests/bench@PREC_SUFFIX@-fftw-bench.o $(LIBFFTWTHREADS) \ + $(top_builddir)/libfftw3@PREC_SUFFIX@.la \ + $(top_builddir)/libbench2/libbench2.a $(THREADLIBS) diff --git a/meta-oe/recipes-support/fftw/fftw/run-ptest b/meta-oe/recipes-support/fftw/fftw/run-ptest new file mode 100644 index 0000000000..6d8dd96f02 --- /dev/null +++ b/meta-oe/recipes-support/fftw/fftw/run-ptest @@ -0,0 +1,30 @@ +#!/bin/sh + +cd fftw +/usr/bin/perl -w ./check.pl -r -c=30 -v `pwd`/bench +fftw_result=$? +cd ../fftwf +/usr/bin/perl -w ./check.pl -r -c=30 -v `pwd`/benchf +fftwf_result=$? +cd ../fftwl +/usr/bin/perl -w ./check.pl -r -c=30 -v `pwd`/benchl +fftwl_result=$? + +echo -n "fftw test result:" +if [ $fftw_result = "0" ]; then + echo PASSED +else + echo FAILED +fi +echo -n "fftwf test result:" +if [ $fftwf_result = "0" ]; then + echo PASSED +else + echo FAILED +fi +echo -n "fftwl test result:" +if [ $fftwl_result = "0" ]; then + echo PASSED +else + echo FAILED +fi diff --git a/meta-oe/recipes-support/fftw/fftw_3.3.8.bb b/meta-oe/recipes-support/fftw/fftw_3.3.8.bb index d9e0ea3409..de175d629f 100644 --- a/meta-oe/recipes-support/fftw/fftw_3.3.8.bb +++ b/meta-oe/recipes-support/fftw/fftw_3.3.8.bb @@ -6,11 +6,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" SRC_URI = " \ http://www.fftw.org/fftw-${PV}.tar.gz \ file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \ + file://install-bench.patch \ + file://run-ptest \ " SRC_URI[md5sum] = "8aac833c943d8e90d51b697b27d4384d" SRC_URI[sha256sum] = "6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303" -inherit autotools pkgconfig +inherit autotools pkgconfig ptest # we had multiple recipes in the past PROVIDES = "fftwl fftwf" @@ -65,6 +67,22 @@ do_install() { done } +do_install_ptest() { + for lib in fftw fftwl fftwf; do + install -d ${D}${PTEST_PATH}/$lib + install -m 0755 ${S}/tests/check.pl ${D}${PTEST_PATH}/$lib + cd ${WORKDIR}/build-$lib + if [ $lib = "fftw" ]; then + mv ${D}${bindir}/bench ${D}${PTEST_PATH}/$lib + fi + if [ $lib = "fftwl" ]; then + mv ${D}${bindir}/benchl ${D}${PTEST_PATH}/$lib + fi + if [ $lib = "fftwf" ]; then + mv ${D}${bindir}/benchf ${D}${PTEST_PATH}/$lib + fi + done +} PACKAGES =+ "libfftw libfftwl libfftwf" FILES_libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*" @@ -79,5 +97,7 @@ FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf" FILES_${PN}-dev += "${libdir}/cmake" RDEPENDS_${PN}-dev = "libfftw libfftwl libfftwf" +RDEPENDS_${PN}-ptest += "perl" +RDEPENDS_${PN}-ptest_remove = "fftw" BBCLASSEXTEND = "native" -- cgit v1.2.3-54-g00ecf