mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-04 14:39:54 +00:00
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:
committed by
Martin Jansa
parent
1edf97a010
commit
395cb2d90b
@@ -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?
|
||||
@@ -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"
|
||||
Reference in New Issue
Block a user