diff options
author | Dave Cobbley <david.j.cobbley@linux.intel.com> | 2018-08-14 20:05:37 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-08-23 04:26:31 +0300 |
commit | eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 (patch) | |
tree | de291a73dc37168da6370e2cf16c347d1eba9df8 /meta-openembedded/meta-oe/recipes-support/fftw | |
parent | 9c3cf826d853102535ead04cebc2d6023eff3032 (diff) | |
download | openbmc-eb8dc40360f0cfef56fb6947cc817a547d6d9bc6.tar.xz |
[Subtree] Removing import-layers directory
As part of the move to subtrees, need to bring all the import layers
content to the top level.
Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f
Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/fftw')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-support/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch | 80 | ||||
-rw-r--r-- | meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.7.bb | 80 |
2 files changed, 160 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch new file mode 100644 index 000000000..6340f42f4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch @@ -0,0 +1,80 @@ +From 97af5a2efbe30726ce4d7c921efed6afc32a314f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Sun, 25 Dec 2016 13:41:19 +0100 +Subject: [PATCH] NEON autodetection segfaults: assume neon present +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If TUNE_FEATURES contain 'neon' we can assume our machine supports it + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + simd-support/neon.c | 46 +--------------------------------------------- + 1 file changed, 1 insertion(+), 45 deletions(-) + +diff --git a/simd-support/neon.c b/simd-support/neon.c +index 86b2cb6..8d6537e 100644 +--- a/simd-support/neon.c ++++ b/simd-support/neon.c +@@ -23,54 +23,10 @@ + + #if HAVE_NEON + +-/* check for an environment where signals are known to work */ +-#if defined(unix) || defined(linux) +- # include <signal.h> +- # include <setjmp.h> +- +- static jmp_buf jb; +- +- static void sighandler(int x) +- { +- UNUSED(x); +- longjmp(jb, 1); +- } +- +- static int really_have_neon(void) +- { +- void (*oldsig)(int); +- oldsig = signal(SIGILL, sighandler); +- if (setjmp(jb)) { +- signal(SIGILL, oldsig); +- return 0; +- } else { +- /* paranoia: encode the instruction in binary because the +- assembler may not recognize it without -mfpu=neon */ +- /*asm volatile ("vand q0, q0, q0");*/ +- asm volatile (".long 0xf2000150"); +- signal(SIGILL, oldsig); +- return 1; +- } +- } +- +- int X(have_simd_neon)(void) +- { +- static int init = 0, res; +- +- if (!init) { +- res = really_have_neon(); +- init = 1; +- } +- return res; +- } +- +- +-#else +-/* don't know how to autodetect NEON; assume it is present */ ++/* autodetect NEON broken; assume it is present */ + int X(have_simd_neon)(void) + { + return 1; + } +-#endif + + #endif +-- +2.5.5 + diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.7.bb b/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.7.bb new file mode 100644 index 000000000..aae6ec952 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.7.bb @@ -0,0 +1,80 @@ +DESCRIPTION = "FFTW" +SECTION = "libs" +LICENSE = "GPLv2" +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 \ +" +SRC_URI[md5sum] = "0d5915d7d39b3253c1cc05030d79ac47" +SRC_URI[sha256sum] = "3b609b7feba5230e8f6dd8d245ddbefac324c5a6ae4186947670d9ac2cd25573" + +inherit autotools pkgconfig + +# we had multiple recipes in the past +PROVIDES = "fftwl fftwf" + +EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads" + +CFLAGS += "-D_GNU_SOURCE" + +FFTW_NEON = "${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}" +FFTW_NEON_class-native = "" + +do_configure() { + # configure fftw + rm -rf ${WORKDIR}/build-fftw + mkdir -p ${B} + cd ${B} + # full (re)configure + autotools_do_configure + mv ${B} ${WORKDIR}/build-fftw + + # configure fftwl + rm -rf ${WORKDIR}/build-fftwl + mkdir -p ${B} + cd ${B} + # configure only + oe_runconf --enable-long-double + mv ${B} ${WORKDIR}/build-fftwl + + # configure fftwf + rm -rf ${WORKDIR}/build-fftwf + mkdir -p ${B} + cd ${B} + # configure only + oe_runconf --enable-single ${FFTW_NEON} + mv ${B} ${WORKDIR}/build-fftwf +} + +do_compile() { + for lib in fftw fftwl fftwf; do + cd ${WORKDIR}/build-$lib + autotools_do_compile + done +} + +do_install() { + for lib in fftw fftwl fftwf; do + cd ${WORKDIR}/build-$lib + autotools_do_install + done +} + + +PACKAGES =+ "libfftw libfftwl libfftwf" +FILES_libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*" +FILES_libfftwl = "${libdir}/libfftw3l.so.* ${libdir}/libfftw3l_*.so.*" +FILES_libfftwf = "${libdir}/libfftw3f.so.* ${libdir}/libfftw3f_*.so.*" + +PACKAGES =+ "fftw-wisdom fftwl-wisdom fftwf-wisdom fftw-wisdom-to-conf" +FILES_fftw-wisdom = "${bindir}/fftw-wisdom" +FILES_fftwl-wisdom = "${bindir}/fftwl-wisdom" +FILES_fftwf-wisdom = "${bindir}/fftwf-wisdom" +FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf" + +FILES_${PN}-dev += "${libdir}/cmake" +RDEPENDS_${PN}-dev = "libfftw libfftwl libfftwf" + +BBCLASSEXTEND = "native" |