summaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
authorAndreas Müller <schnitzeltony@googlemail.com>2016-09-18 02:47:25 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2016-09-26 08:29:12 +0200
commit395cb2d90b0c6341f8884e436dafdc91b210e442 (patch)
treeb821bcb80f7eb5c28a5e4769bb85105f47c0dcbe /meta-oe
parent1edf97a010bdb234aed0f763e4d2f374f4a65a6b (diff)
downloadmeta-openembedded-395cb2d90b0c6341f8884e436dafdc91b210e442.tar.gz
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>
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-support/fftw/fftw.inc25
-rw-r--r--meta-oe/recipes-support/fftw/fftw_3.3.4.bb62
-rw-r--r--meta-oe/recipes-support/fftw/fftwf_3.3.4.bb11
-rw-r--r--meta-oe/recipes-support/fftw/fftwl_3.3.4.bb9
4 files changed, 61 insertions, 46 deletions
diff --git a/meta-oe/recipes-support/fftw/fftw.inc b/meta-oe/recipes-support/fftw/fftw.inc
deleted file mode 100644
index a0adf59be..000000000
--- a/meta-oe/recipes-support/fftw/fftw.inc
+++ /dev/null
@@ -1,25 +0,0 @@
1DESCRIPTION = "FFTW"
2SECTION = "libs"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
5
6PROVIDES = "virtual/fftw"
7
8RPROVIDES_${PN} += "libfftw3"
9
10SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz"
11
12S = "${WORKDIR}/fftw-${PV}"
13
14inherit autotools pkgconfig
15
16EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
17
18do_configure_prepend() {
19 echo 'AM_PROG_AS' >> ${S}/configure.ac
20}
21
22PACKAGES =+ "lib${BPN}"
23FILES_lib${BPN} = "${libdir}/lib*.so.*"
24
25# rename binary in /bin and use u-a tpo choose between different precision implementations?
diff --git a/meta-oe/recipes-support/fftw/fftw_3.3.4.bb b/meta-oe/recipes-support/fftw/fftw_3.3.4.bb
index 990f01e2f..cbcd1b915 100644
--- a/meta-oe/recipes-support/fftw/fftw_3.3.4.bb
+++ b/meta-oe/recipes-support/fftw/fftw_3.3.4.bb
@@ -1,6 +1,66 @@
1require fftw.inc 1DESCRIPTION = "FFTW"
2SECTION = "libs"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
2 5
6SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz"
3SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3" 7SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
4SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982" 8SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982"
5 9
10inherit autotools pkgconfig
11
12# we had multiple recipes in the past
13PROVIDES = "fftwl fftwf"
14
15EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
16
17do_configure() {
18 # configure fftw
19 mkdir -p ${B}
20 cd ${B}
21 # full (re)configure
22 autotools_do_configure
23 mv ${B} ${WORKDIR}/build-fftw
24
25 # configure fftwl
26 mkdir -p ${B}
27 cd ${B}
28 # configure only
29 oe_runconf --enable-long-double
30 mv ${B} ${WORKDIR}/build-fftwl
31
32 # configure fftwf
33 mkdir -p ${B}
34 cd ${B}
35 # configure only
36 oe_runconf --enable-single ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}
37 mv ${B} ${WORKDIR}/build-fftwf
38}
39
40do_compile() {
41 for lib in fftw fftwl fftwf; do
42 cd ${WORKDIR}/build-$lib
43 autotools_do_compile
44 done
45}
46
47do_install() {
48 for lib in fftw fftwl fftwf; do
49 cd ${WORKDIR}/build-$lib
50 autotools_do_install
51 done
52}
53
54
55PACKAGES =+ "libfftw libfftwl libfftwf"
56FILES_libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*"
57FILES_libfftwl = "${libdir}/libfftw3l.so.* ${libdir}/libfftw3l_*.so.*"
58FILES_libfftwf = "${libdir}/libfftw3f.so.* ${libdir}/libfftw3f_*.so.*"
59
60PACKAGES =+ "fftw-wisdom fftwl-wisdom fftwf-wisdom fftw-wisdom-to-conf"
61FILES_fftw-wisdom = "${bindir}/fftw-wisdom"
62FILES_fftwl-wisdom = "${bindir}/fftwl-wisdom"
63FILES_fftwf-wisdom = "${bindir}/fftwf-wisdom"
64FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf"
65
6BBCLASSEXTEND = "native" 66BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb b/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb
deleted file mode 100644
index 4a659867d..000000000
--- a/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1require fftw.inc
2
3# conflicts with fftw and fftwl
4EXCLUDE_FROM_WORLD = "1"
5
6EXTRA_OECONF += "--enable-single \
7 ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)} \
8"
9
10SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
11SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982"
diff --git a/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb b/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb
deleted file mode 100644
index 432ff1241..000000000
--- a/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1require fftw.inc
2
3# conflicts with fftw and fftwf
4EXCLUDE_FROM_WORLD = "1"
5
6EXTRA_OECONF += "--enable-long-double"
7
8SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
9SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982"