diff options
author | Andreas Müller <schnitzeltony@googlemail.com> | 2016-09-18 02:47:25 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2016-09-26 08:29:12 +0200 |
commit | 395cb2d90b0c6341f8884e436dafdc91b210e442 (patch) | |
tree | b821bcb80f7eb5c28a5e4769bb85105f47c0dcbe /meta-oe | |
parent | 1edf97a010bdb234aed0f763e4d2f374f4a65a6b (diff) | |
download | meta-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.inc | 25 | ||||
-rw-r--r-- | meta-oe/recipes-support/fftw/fftw_3.3.4.bb | 62 | ||||
-rw-r--r-- | meta-oe/recipes-support/fftw/fftwf_3.3.4.bb | 11 | ||||
-rw-r--r-- | meta-oe/recipes-support/fftw/fftwl_3.3.4.bb | 9 |
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 @@ | |||
1 | DESCRIPTION = "FFTW" | ||
2 | SECTION = "libs" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
5 | |||
6 | PROVIDES = "virtual/fftw" | ||
7 | |||
8 | RPROVIDES_${PN} += "libfftw3" | ||
9 | |||
10 | SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz" | ||
11 | |||
12 | S = "${WORKDIR}/fftw-${PV}" | ||
13 | |||
14 | inherit autotools pkgconfig | ||
15 | |||
16 | EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads" | ||
17 | |||
18 | do_configure_prepend() { | ||
19 | echo 'AM_PROG_AS' >> ${S}/configure.ac | ||
20 | } | ||
21 | |||
22 | PACKAGES =+ "lib${BPN}" | ||
23 | FILES_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 @@ | |||
1 | require fftw.inc | 1 | DESCRIPTION = "FFTW" |
2 | SECTION = "libs" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
2 | 5 | ||
6 | SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz" | ||
3 | SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3" | 7 | SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3" |
4 | SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982" | 8 | SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982" |
5 | 9 | ||
10 | inherit autotools pkgconfig | ||
11 | |||
12 | # we had multiple recipes in the past | ||
13 | PROVIDES = "fftwl fftwf" | ||
14 | |||
15 | EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads" | ||
16 | |||
17 | do_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 | |||
40 | do_compile() { | ||
41 | for lib in fftw fftwl fftwf; do | ||
42 | cd ${WORKDIR}/build-$lib | ||
43 | autotools_do_compile | ||
44 | done | ||
45 | } | ||
46 | |||
47 | do_install() { | ||
48 | for lib in fftw fftwl fftwf; do | ||
49 | cd ${WORKDIR}/build-$lib | ||
50 | autotools_do_install | ||
51 | done | ||
52 | } | ||
53 | |||
54 | |||
55 | PACKAGES =+ "libfftw libfftwl libfftwf" | ||
56 | FILES_libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*" | ||
57 | FILES_libfftwl = "${libdir}/libfftw3l.so.* ${libdir}/libfftw3l_*.so.*" | ||
58 | FILES_libfftwf = "${libdir}/libfftw3f.so.* ${libdir}/libfftw3f_*.so.*" | ||
59 | |||
60 | PACKAGES =+ "fftw-wisdom fftwl-wisdom fftwf-wisdom fftw-wisdom-to-conf" | ||
61 | FILES_fftw-wisdom = "${bindir}/fftw-wisdom" | ||
62 | FILES_fftwl-wisdom = "${bindir}/fftwl-wisdom" | ||
63 | FILES_fftwf-wisdom = "${bindir}/fftwf-wisdom" | ||
64 | FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf" | ||
65 | |||
6 | BBCLASSEXTEND = "native" | 66 | BBCLASSEXTEND = "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 @@ | |||
1 | require fftw.inc | ||
2 | |||
3 | # conflicts with fftw and fftwl | ||
4 | EXCLUDE_FROM_WORLD = "1" | ||
5 | |||
6 | EXTRA_OECONF += "--enable-single \ | ||
7 | ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)} \ | ||
8 | " | ||
9 | |||
10 | SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3" | ||
11 | SRC_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 @@ | |||
1 | require fftw.inc | ||
2 | |||
3 | # conflicts with fftw and fftwf | ||
4 | EXCLUDE_FROM_WORLD = "1" | ||
5 | |||
6 | EXTRA_OECONF += "--enable-long-double" | ||
7 | |||
8 | SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3" | ||
9 | SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982" | ||