diff options
author | Philip Balister <philip@opensdr.com> | 2021-03-26 10:08:27 -0400 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2021-03-28 12:12:58 -0700 |
commit | f274fb58800bc6d41e8ad7ff21adeb144bae4462 (patch) | |
tree | 5f34c3abd64a4614bee292ae66a396a992a97a15 /meta-oe/recipes-support | |
parent | 6a68b4c7246b4ff58a8b76f476a40a7994e24f2c (diff) | |
download | meta-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.patch | 9 | ||||
-rw-r--r-- | meta-oe/recipes-support/fftw/fftw/install-bench.patch | 41 | ||||
-rw-r--r-- | meta-oe/recipes-support/fftw/fftw/run-ptest | 30 | ||||
-rw-r--r-- | meta-oe/recipes-support/fftw/fftw_3.3.8.bb | 22 |
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" |