fftw: build all configurations by one recipe

* avoids conflicts installing same files into sysroot
* for packages requiring a specific version of fftw: simply add fftw to DEPENDS
* no need for some distro decision - recipes depndong on fftw take what they
  need
* each executable is packed into an own package to avoid dragging in all
  libraries

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Andreas Müller
2016-09-18 02:47:25 +02:00
committed by Martin Jansa
parent 1edf97a010
commit 395cb2d90b
4 changed files with 61 additions and 46 deletions
-25
View File
@@ -1,25 +0,0 @@
DESCRIPTION = "FFTW"
SECTION = "libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
PROVIDES = "virtual/fftw"
RPROVIDES_${PN} += "libfftw3"
SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz"
S = "${WORKDIR}/fftw-${PV}"
inherit autotools pkgconfig
EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
do_configure_prepend() {
echo 'AM_PROG_AS' >> ${S}/configure.ac
}
PACKAGES =+ "lib${BPN}"
FILES_lib${BPN} = "${libdir}/lib*.so.*"
# rename binary in /bin and use u-a tpo choose between different precision implementations?
+61 -1
View File
@@ -1,6 +1,66 @@
require fftw.inc
DESCRIPTION = "FFTW"
SECTION = "libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz"
SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982"
inherit autotools pkgconfig
# we had multiple recipes in the past
PROVIDES = "fftwl fftwf"
EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
do_configure() {
# configure fftw
mkdir -p ${B}
cd ${B}
# full (re)configure
autotools_do_configure
mv ${B} ${WORKDIR}/build-fftw
# configure fftwl
mkdir -p ${B}
cd ${B}
# configure only
oe_runconf --enable-long-double
mv ${B} ${WORKDIR}/build-fftwl
# configure fftwf
mkdir -p ${B}
cd ${B}
# configure only
oe_runconf --enable-single ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}
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"
BBCLASSEXTEND = "native"
@@ -1,11 +0,0 @@
require fftw.inc
# conflicts with fftw and fftwl
EXCLUDE_FROM_WORLD = "1"
EXTRA_OECONF += "--enable-single \
${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)} \
"
SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982"
@@ -1,9 +0,0 @@
require fftw.inc
# conflicts with fftw and fftwf
EXCLUDE_FROM_WORLD = "1"
EXTRA_OECONF += "--enable-long-double"
SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982"