aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support
diff options
context:
space:
mode:
authorPhilip Balister <philip@opensdr.com>2021-03-26 10:08:27 -0400
committerKhem Raj <raj.khem@gmail.com>2021-03-28 12:12:58 -0700
commitf274fb58800bc6d41e8ad7ff21adeb144bae4462 (patch)
tree5f34c3abd64a4614bee292ae66a396a992a97a15 /meta-oe/recipes-support
parent6a68b4c7246b4ff58a8b76f476a40a7994e24f2c (diff)
downloadmeta-openembedded-contrib-f274fb58800bc6d41e8ad7ff21adeb144bae4462.tar.gz
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 <philip@opensdr.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support')
-rw-r--r--meta-oe/recipes-support/fftw/fftw/club-libtool.patch9
-rw-r--r--meta-oe/recipes-support/fftw/fftw/install-bench.patch41
-rw-r--r--meta-oe/recipes-support/fftw/fftw/run-ptest30
-rw-r--r--meta-oe/recipes-support/fftw/fftw_3.3.8.bb22
4 files changed, 101 insertions, 1 deletions
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"