* [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time.
@ 2018-11-28 16:12 Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in Gwenhael Goavec-Merou
2018-12-03 16:32 ` [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time Arnout Vandecappelle
0 siblings, 2 replies; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-28 16:12 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
fftw's library name depends on the precision option. Consequently,
it's possible to install multiple flavor on the same target.
This patch split current fftw in 5 part:
- 1 to provide common variables
- 4 to provide specificities for each precision.
This patch suppress hidden BR2_PACKAGE_FFTW_USE_xx variables and directly use
corresponding options in specifics .mk.
Based on http://lists.busybox.net/pipermail/buildroot/2016-August/170116.html
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/fftw/Config.in | 56 +++----------------
package/fftw/fftw-double/Config.in | 5 ++
package/fftw/fftw-double/fftw-double.hash | 1 +
package/fftw/fftw-double/fftw-double.mk | 23 ++++++++
package/fftw/fftw-long-double/Config.in | 8 +++
.../fftw-long-double/fftw-long-double.hash | 1 +
.../fftw/fftw-long-double/fftw-long-double.mk | 21 +++++++
package/fftw/fftw-quad/Config.in | 7 +++
package/fftw/fftw-quad/fftw-quad.hash | 1 +
package/fftw/fftw-quad/fftw-quad.mk | 21 +++++++
package/fftw/fftw-single/Config.in | 5 ++
package/fftw/fftw-single/fftw-single.hash | 1 +
package/fftw/fftw-single/fftw-single.mk | 33 +++++++++++
package/fftw/fftw.mk | 14 +----
14 files changed, 135 insertions(+), 62 deletions(-)
create mode 100644 package/fftw/fftw-double/Config.in
create mode 120000 package/fftw/fftw-double/fftw-double.hash
create mode 100644 package/fftw/fftw-double/fftw-double.mk
create mode 100644 package/fftw/fftw-long-double/Config.in
create mode 120000 package/fftw/fftw-long-double/fftw-long-double.hash
create mode 100644 package/fftw/fftw-long-double/fftw-long-double.mk
create mode 100644 package/fftw/fftw-quad/Config.in
create mode 120000 package/fftw/fftw-quad/fftw-quad.hash
create mode 100644 package/fftw/fftw-quad/fftw-quad.mk
create mode 100644 package/fftw/fftw-single/Config.in
create mode 120000 package/fftw/fftw-single/fftw-single.hash
create mode 100644 package/fftw/fftw-single/fftw-single.mk
diff --git a/package/fftw/Config.in b/package/fftw/Config.in
index d51f8f3c51..c37fd17b5f 100644
--- a/package/fftw/Config.in
+++ b/package/fftw/Config.in
@@ -12,55 +12,11 @@ config BR2_PACKAGE_FFTW
if BR2_PACKAGE_FFTW
-config BR2_PACKAGE_FFTW_USE_SSE
- bool
-
-config BR2_PACKAGE_FFTW_USE_SSE2
- bool
-
-config BR2_PACKAGE_FFTW_USE_NEON
- bool
-
-choice
- prompt "fftw precision"
- default BR2_PACKAGE_FFTW_PRECISION_DOUBLE
- help
- Selects fftw precision
-
-config BR2_PACKAGE_FFTW_PRECISION_SINGLE
- bool "single"
- select BR2_PACKAGE_FFTW_USE_SSE if BR2_X86_CPU_HAS_SSE
- select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2
- select BR2_PACKAGE_FFTW_USE_NEON if BR2_ARM_CPU_HAS_NEON && !BR2_ARM_SOFT_FLOAT
- help
- Compile fftw in single precision, i.e. use 'float' for
- floating point type.
-
-config BR2_PACKAGE_FFTW_PRECISION_DOUBLE
- bool "double"
- select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2
- help
- Compile fftw in double precision (the default), i.e. use
- 'double' for floating point type.
-
-config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE
- bool "long double"
- # long-double precision require long-double trigonometric routines
- depends on !(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && \
- (BR2_arm || BR2_mips || BR2_mipsel))
- help
- Compile fftw in long double precision, i.e. use 'long double'
- for floating point type.
-
-config BR2_PACKAGE_FFTW_PRECISION_QUAD
- bool "quad"
- # quad-precision needs to have a gcc with libquadmath
- depends on (BR2_i386 || BR2_x86_64) && BR2_USE_WCHAR
- help
- Compile fftw in quadruple precision, i.e. use '__float128' for
- floating point type.
-
-endchoice
+menu "FFTW precision and options"
+source "package/fftw/fftw-double/Config.in"
+source "package/fftw/fftw-long-double/Config.in"
+source "package/fftw/fftw-single/Config.in"
+source "package/fftw/fftw-quad/Config.in"
config BR2_PACKAGE_FFTW_FAST
bool "optimise for speed over accuracy"
@@ -75,4 +31,6 @@ config BR2_PACKAGE_FFTW_FAST
turn is basically using gcc's -ffast-math. See the gcc manual
for what this means.
+endmenu
+
endif
diff --git a/package/fftw/fftw-double/Config.in b/package/fftw/fftw-double/Config.in
new file mode 100644
index 0000000000..f52502fe26
--- /dev/null
+++ b/package/fftw/fftw-double/Config.in
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_FFTW_PRECISION_DOUBLE
+ bool "fftw-double"
+ help
+ Compile fftw in double precision (the default), i.e. use
+ 'double' for floating point type.
diff --git a/package/fftw/fftw-double/fftw-double.hash b/package/fftw/fftw-double/fftw-double.hash
new file mode 120000
index 0000000000..3ee7ecb3ba
--- /dev/null
+++ b/package/fftw/fftw-double/fftw-double.hash
@@ -0,0 +1 @@
+../fftw.hash
\ No newline at end of file
diff --git a/package/fftw/fftw-double/fftw-double.mk b/package/fftw/fftw-double/fftw-double.mk
new file mode 100644
index 0000000000..b8a587184c
--- /dev/null
+++ b/package/fftw/fftw-double/fftw-double.mk
@@ -0,0 +1,23 @@
+################################################################################
+#
+# fft-double
+#
+################################################################################
+
+FFTW_PRECISION_DOUBLE_VERSION = $(FFTW_VERSION)
+FFTW_PRECISION_DOUBLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz
+FFTW_PRECISION_DOUBLE_SITE = $(FFTW_SITE)
+FFTW_PRECISION_DOUBLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
+FFTW_PRECISION_DOUBLE_LICENSE = $(FFTW_LICENSE)
+FFTW_PRECISION_DOUBLE_LICENSE_FILES = $(FFTW_LICENSE_FILES)
+
+FFTW_PRECISION_DOUBLE_CONF_ENV = $(FFTW_CONF_ENV)
+
+FFTW_PRECISION_DOUBLE_CONF_OPTS= $(FFTW_CONF_OPTS)
+
+FFTW_PRECISION_DOUBLE_CFLAGS = $(FFTW_CFLAGS)
+
+# x86 optimisations
+FFTW_PRECISION_DOUBLE_CONF_OPTS += $(if $(BR2_X86_CPU_HAS_SSE2),--enable,--disable)-sse2
+
+$(eval $(autotools-package))
diff --git a/package/fftw/fftw-long-double/Config.in b/package/fftw/fftw-long-double/Config.in
new file mode 100644
index 0000000000..d52a4d2e18
--- /dev/null
+++ b/package/fftw/fftw-long-double/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE
+ bool "fftw-long-double"
+ # long-double precision require long-double trigonometric routines
+ depends on !(BR2_TOOLCHAIN_USES_UCLIBC && \
+ (BR2_arm || BR2_mips || BR2_mipsel))
+ help
+ Compile fftw in long double precision, i.e. use 'long double'
+ for floating point type.
diff --git a/package/fftw/fftw-long-double/fftw-long-double.hash b/package/fftw/fftw-long-double/fftw-long-double.hash
new file mode 120000
index 0000000000..3ee7ecb3ba
--- /dev/null
+++ b/package/fftw/fftw-long-double/fftw-long-double.hash
@@ -0,0 +1 @@
+../fftw.hash
\ No newline at end of file
diff --git a/package/fftw/fftw-long-double/fftw-long-double.mk b/package/fftw/fftw-long-double/fftw-long-double.mk
new file mode 100644
index 0000000000..9c96ed5f56
--- /dev/null
+++ b/package/fftw/fftw-long-double/fftw-long-double.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# fftw-long-double
+#
+################################################################################
+
+FFTW_PRECISION_LONG_DOUBLE_VERSION = $(FFTW_VERSION)
+FFTW_PRECISION_LONG_DOUBLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz
+FFTW_PRECISION_LONG_DOUBLE_SITE = $(FFTW_SITE)
+FFTW_PRECISION_LONG_DOUBLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
+FFTW_PRECISION_LONG_DOUBLE_LICENSE = $(FFTW_LICENSE)
+FFTW_PRECISION_LONG_DOUBLE_LICENSE_FILES = $(FFTW_LICENSE_FILES)
+
+FFTW_PRECISION_LONG_DOUBLE_CONF_ENV = $(FFTW_CONF_ENV)
+
+FFTW_PRECISION_LONG_DOUBLE_CONF_OPTS = $(FFTW_CONF_OPTS)
+FFTW_PRECISION_LONG_DOUBLE_CONF_OPTS += --enable-long-double
+
+FFTW_PRECISION_LONG_DOUBLE_CFLAGS = $(FFTW_CFLAGS)
+
+$(eval $(autotools-package))
diff --git a/package/fftw/fftw-quad/Config.in b/package/fftw/fftw-quad/Config.in
new file mode 100644
index 0000000000..827fff1240
--- /dev/null
+++ b/package/fftw/fftw-quad/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_FFTW_PRECISION_QUAD
+ bool "fftw-quad"
+ # quad-precision needs to have a gcc with libquadmath
+ depends on (BR2_i386 || BR2_x86_64) && BR2_USE_WCHAR
+ help
+ Compile fftw in quadruple precision, i.e. use '__float128' for
+ floating point type.
diff --git a/package/fftw/fftw-quad/fftw-quad.hash b/package/fftw/fftw-quad/fftw-quad.hash
new file mode 120000
index 0000000000..3ee7ecb3ba
--- /dev/null
+++ b/package/fftw/fftw-quad/fftw-quad.hash
@@ -0,0 +1 @@
+../fftw.hash
\ No newline at end of file
diff --git a/package/fftw/fftw-quad/fftw-quad.mk b/package/fftw/fftw-quad/fftw-quad.mk
new file mode 100644
index 0000000000..8acbd40d21
--- /dev/null
+++ b/package/fftw/fftw-quad/fftw-quad.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# fftw-quad
+#
+################################################################################
+
+FFTW_PRECISION_QUAD_VERSION = $(FFTW_VERSION)
+FFTW_PRECISION_QUAD_SOURCE = fftw-$(FFTW_VERSION).tar.gz
+FFTW_PRECISION_QUAD_SITE = $(FFTW_SITE)
+FFTW_PRECISION_QUAD_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
+FFTW_PRECISION_QUAD_LICENSE = $(FFTW_LICENSE)
+FFTW_PRECISION_QUAD_LICENSE_FILES = $(FFTW_LICENSE_FILES)
+
+FFTW_PRECISION_QUAD_CONF_ENV = $(FFTW_CONF_ENV)
+
+FFTW_PRECISION_QUAD_CONF_OPTS = $(FFTW_CONF_OPTS)
+FFTW_PRECISION_QUAD_CONF_OPTS += --enable-quad-precision
+
+FFTW_PRECISION_QUAD_CFLAGS = $(FFTW_CFLAGS)
+
+$(eval $(autotools-package))
diff --git a/package/fftw/fftw-single/Config.in b/package/fftw/fftw-single/Config.in
new file mode 100644
index 0000000000..43c91012ff
--- /dev/null
+++ b/package/fftw/fftw-single/Config.in
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_FFTW_PRECISION_SINGLE
+ bool "fftw-single"
+ help
+ Compile fftw in single precision, i.e. use 'float'
+ for floating point type.
diff --git a/package/fftw/fftw-single/fftw-single.hash b/package/fftw/fftw-single/fftw-single.hash
new file mode 120000
index 0000000000..3ee7ecb3ba
--- /dev/null
+++ b/package/fftw/fftw-single/fftw-single.hash
@@ -0,0 +1 @@
+../fftw.hash
\ No newline at end of file
diff --git a/package/fftw/fftw-single/fftw-single.mk b/package/fftw/fftw-single/fftw-single.mk
new file mode 100644
index 0000000000..cff7a5de32
--- /dev/null
+++ b/package/fftw/fftw-single/fftw-single.mk
@@ -0,0 +1,33 @@
+################################################################################
+#
+# fftw-single
+#
+################################################################################
+
+FFTW_PRECISION_SINGLE_VERSION = $(FFTW_VERSION)
+FFTW_PRECISION_SINGLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz
+FFTW_PRECISION_SINGLE_SITE = $(FFTW_SITE)
+FFTW_PRECISION_SINGLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
+FFTW_PRECISION_SINGLE_LICENSE = $(FFTW_LICENSE)
+FFTW_PRECISION_SINGLE_LICENSE_FILES = $(FFTW_LICENSE_FILES)
+
+FFTW_PRECISION_SINGLE_CONF_ENV = $(FFTW_CONF_ENV)
+
+FFTW_PRECISION_SINGLE_CONF_OPTS = $(FFTW_CONF_OPTS)
+FFTW_PRECISION_SINGLE_CONF_OPTS += --enable-single
+
+FFTW_PRECISION_SINGLE_CFLAGS = $(FFTW_CFLAGS)
+
+# x86 optimisations
+FFTW_PRECISION_SINGLE_CONF_OPTS += $(if $(BR2_X86_CPU_HAS_SSE),--enable,--disable)-sse
+FFTW_PRECISION_SINGLE_CONF_OPTS += $(if $(BR2_X86_CPU_HAS_SSE2),--enable,--disable)-sse2
+
+# ARM optimisations
+ifeq ($(BR2_ARM_CPU_HAS_NEON):$(BR2_ARM_SOFT_FLOAT),y:)
+FFTW_PRECISION_SINGLE_CONF_OPTS += --enable-neon
+FFTW_PRECISION_SINGLE_CFLAGS += -mfpu=neon
+else
+FFTW_PRECISION_SINGLE_CONF_OPTS += --disable-neon
+endif
+
+$(eval $(autotools-package))
diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk
index b167a2f6f7..ec300242b0 100644
--- a/package/fftw/fftw.mk
+++ b/package/fftw/fftw.mk
@@ -18,23 +18,11 @@ else
FFTW_CONF_OPTS += --disable-fortran
endif
-FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),--enable,--disable)-single
-FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),--enable,--disable)-long-double
-FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_QUAD),--enable,--disable)-quad-precision
-
FFTW_CFLAGS = $(TARGET_CFLAGS)
ifeq ($(BR2_PACKAGE_FFTW_FAST),y)
FFTW_CFLAGS += -O3 -ffast-math
endif
-# x86 optimisations
-FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE),--enable,--disable)-sse
-FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE2),--enable,--disable)-sse2
-
-# ARM optimisations
-FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),--enable,--disable)-neon
-FFTW_CFLAGS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),-mfpu=neon)
-
# Generic optimisations
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
FFTW_CONF_OPTS += --enable-threads
@@ -46,4 +34,4 @@ FFTW_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp
FFTW_CONF_OPTS += CFLAGS="$(FFTW_CFLAGS)"
-$(eval $(autotools-package))
+include $(sort $(wildcard package/fftw/*/*.mk))
--
2.19.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in
2018-11-28 16:12 [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time Gwenhael Goavec-Merou
@ 2018-11-28 16:12 ` Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 03/11] aubio: update DEPENDENCIES to fft-single or fft-double depending on enabled option Gwenhael Goavec-Merou
2018-11-29 4:24 ` [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in Baruch Siach
2018-12-03 16:32 ` [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time Arnout Vandecappelle
1 sibling, 2 replies; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-28 16:12 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/alsa-utils/Config.in | 5 ++---
package/alsa-utils/alsa-utils.mk | 2 +-
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in
index 012f28aef4..950278d173 100644
--- a/package/alsa-utils/Config.in
+++ b/package/alsa-utils/Config.in
@@ -74,15 +74,14 @@ config BR2_PACKAGE_ALSA_UTILS_ASEQNET
select BR2_PACKAGE_ALSA_LIB_SEQ
config BR2_PACKAGE_ALSA_UTILS_BAT
+ select BR2_PACKAGE_FFTW
+ select BR2_PACKAGE_FFTW_PRECISION_SINGLE
bool "bat"
help
ALSABAT (ALSA Basic Audio Tester) is a simple command-line
utility intended to help automate audio driver and sound
server testing with little human interaction.
- Note that analysis support in alsabat requires fftw single
- precision.
-
config BR2_PACKAGE_ALSA_UTILS_IECSET
bool "iecset"
select BR2_PACKAGE_ALSA_LIB_PCM
diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk
index 986a745399..9e0094f343 100644
--- a/package/alsa-utils/alsa-utils.mk
+++ b/package/alsa-utils/alsa-utils.mk
@@ -41,7 +41,7 @@ endif
ifeq ($(BR2_PACKAGE_ALSA_UTILS_BAT),y)
ALSA_UTILS_CONF_OPTS += --enable-bat
# Analysis support requires fftw single precision
-ALSA_UTILS_DEPENDENCIES += $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),fftw)
+ALSA_UTILS_DEPENDENCIES += fftw-single
else
ALSA_UTILS_CONF_OPTS += --disable-bat
endif
--
2.19.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 03/11] aubio: update DEPENDENCIES to fft-single or fft-double depending on enabled option
2018-11-28 16:12 ` [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in Gwenhael Goavec-Merou
@ 2018-11-28 16:12 ` Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 04/11] gnuradio: change depend to select for ffw and use fft-single in DEPENDENCIES Gwenhael Goavec-Merou
2018-11-29 4:24 ` [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in Baruch Siach
1 sibling, 1 reply; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-28 16:12 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/aubio/aubio.mk | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/package/aubio/aubio.mk b/package/aubio/aubio.mk
index b0cc8b899e..20dd8c13cb 100644
--- a/package/aubio/aubio.mk
+++ b/package/aubio/aubio.mk
@@ -28,7 +28,7 @@ endif
# Could not compile aubio in double precision mode with libsamplerate
ifeq ($(BR2_PACKAGE_LIBSAMPLERATE)$(BR2_PACKAGE_FFTW_PRECISION_SINGLE),yy)
-AUBIO_DEPENDENCIES += libsamplerate
+AUBIO_DEPENDENCIES += libsamplerate fftw-single
AUBIO_CONF_OPTS += --enable-samplerate
else
AUBIO_CONF_OPTS += --disable-samplerate
@@ -42,12 +42,13 @@ AUBIO_CONF_OPTS += --disable-jack
endif
ifeq ($(BR2_PACKAGE_FFTW),y)
-AUBIO_DEPENDENCIES += fftw
# fftw3 require double otherwise it will look for fftw3f
ifeq ($(BR2_PACKAGE_FFTW_PRECISION_DOUBLE),y)
AUBIO_CONF_OPTS += --enable-fftw3 --enable-double
+AUBIO_DEPENDENCIES += fftw-double
else ifeq ($(BR2_PACKAGE_FFTW_PRECISION_SINGLE),y)
AUBIO_CONF_OPTS += --enable-fftw3f --disable-double
+AUBIO_DEPENDENCIES += fftw-single
endif
else # !BR2_PACKAGE_FFTW
AUBIO_CONF_OPTS += --disable-fftw3
--
2.19.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 04/11] gnuradio: change depend to select for ffw and use fft-single in DEPENDENCIES
2018-11-28 16:12 ` [Buildroot] [PATCH 03/11] aubio: update DEPENDENCIES to fft-single or fft-double depending on enabled option Gwenhael Goavec-Merou
@ 2018-11-28 16:12 ` Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 05/11] gqrx: suppress fft depend since fft's precision is selected by gnuradio Gwenhael Goavec-Merou
0 siblings, 1 reply; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-28 16:12 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
With fftw with multiple precision selectable without choise it's possible
to replace depend on by select.
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/gnuradio/Config.in | 8 ++------
package/gnuradio/gnuradio.mk | 2 +-
2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in
index 56957d59e4..4508643940 100644
--- a/package/gnuradio/Config.in
+++ b/package/gnuradio/Config.in
@@ -78,11 +78,6 @@ config BR2_PACKAGE_GNURADIO_ZEROMQ
help
zeromq communication support
-comment "gr-fft, -filter, -analog, -channels, -digital, -trellis, -pager, -qtgui depends fftw's single precision"
- depends on !BR2_PACKAGE_FFTW_PRECISION_SINGLE
-
-if BR2_PACKAGE_FFTW_PRECISION_SINGLE
-
config BR2_PACKAGE_GNURADIO_ANALOG
bool "gr-analog support"
select BR2_PACKAGE_GNURADIO_FILTER
@@ -103,6 +98,8 @@ config BR2_PACKAGE_GNURADIO_DIGITAL
config BR2_PACKAGE_GNURADIO_FFT
bool "gr-fft support"
+ select BR2_PACKAGE_FFTW
+ select BR2_PACKAGE_FFTW_PRECISION_SINGLE
select BR2_PACKAGE_GNURADIO_BLOCKS
help
FFT signal processing blocks
@@ -136,4 +133,3 @@ config BR2_PACKAGE_GNURADIO_TRELLIS
Trellis coded modulation blocks
endif
-endif
diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk
index ed537e3934..564ad8b2a4 100644
--- a/package/gnuradio/gnuradio.mk
+++ b/package/gnuradio/gnuradio.mk
@@ -101,7 +101,7 @@ GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=OFF
endif
ifeq ($(BR2_PACKAGE_GNURADIO_FFT),y)
-GNURADIO_DEPENDENCIES += fftw
+GNURADIO_DEPENDENCIES += fftw-single
GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=ON
else
GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=OFF
--
2.19.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 05/11] gqrx: suppress fft depend since fft's precision is selected by gnuradio
2018-11-28 16:12 ` [Buildroot] [PATCH 04/11] gnuradio: change depend to select for ffw and use fft-single in DEPENDENCIES Gwenhael Goavec-Merou
@ 2018-11-28 16:12 ` Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 06/11] gqrx: use select instead of depend for fftw package and fix DEPENDENCIES Gwenhael Goavec-Merou
0 siblings, 1 reply; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-28 16:12 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/gqrx/Config.in | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/package/gqrx/Config.in b/package/gqrx/Config.in
index 1dc40c6d24..94ccb60d44 100644
--- a/package/gqrx/Config.in
+++ b/package/gqrx/Config.in
@@ -2,13 +2,11 @@ comment "gqrx needs a toolchain w/ C++, threads, wchar"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_USE_WCHAR
-comment "gqrx needs qt5, gnuradio, fftw's single precision"
- depends on !BR2_PACKAGE_GNURADIO || !BR2_PACKAGE_FFTW_PRECISION_SINGLE || \
- !BR2_PACKAGE_QT5
+comment "gqrx needs qt5, gnuradio"
+ depends on !BR2_PACKAGE_GNURADIO || !BR2_PACKAGE_QT5
config BR2_PACKAGE_GQRX
bool "gqrx"
- depends on BR2_PACKAGE_FFTW_PRECISION_SINGLE # gnuradio
depends on BR2_PACKAGE_GNURADIO
depends on BR2_PACKAGE_QT5
depends on BR2_INSTALL_LIBSTDCPP # boost
--
2.19.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 06/11] gqrx: use select instead of depend for fftw package and fix DEPENDENCIES
2018-11-28 16:12 ` [Buildroot] [PATCH 05/11] gqrx: suppress fft depend since fft's precision is selected by gnuradio Gwenhael Goavec-Merou
@ 2018-11-28 16:12 ` Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 07/11] httping: update package to use new fftw structure Gwenhael Goavec-Merou
0 siblings, 1 reply; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-28 16:12 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/hackrf/Config.in | 6 ++----
package/hackrf/hackrf.mk | 2 +-
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/package/hackrf/Config.in b/package/hackrf/Config.in
index 4fa27699c4..086b2f96fd 100644
--- a/package/hackrf/Config.in
+++ b/package/hackrf/Config.in
@@ -2,7 +2,8 @@ config BR2_PACKAGE_HACKRF
bool "hackrf"
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on BR2_PACKAGE_FFTW_PRECISION_SINGLE
+ select BR2_PACKAGE_FFTW
+ select BR2_PACKAGE_FFTW_PRECISION_SINGLE
select BR2_PACKAGE_LIBUSB
help
Library and tools for accessing HackRF SDR boards.
@@ -11,6 +12,3 @@ config BR2_PACKAGE_HACKRF
comment "hackrf needs a toolchain w/ threads, dynamic library"
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
-
-comment "hackrf needs fftw's single precision"
- depends on !BR2_PACKAGE_FFTW_PRECISION_SINGLE
diff --git a/package/hackrf/hackrf.mk b/package/hackrf/hackrf.mk
index acab0be1d3..b83f6518e8 100644
--- a/package/hackrf/hackrf.mk
+++ b/package/hackrf/hackrf.mk
@@ -9,7 +9,7 @@ HACKRF_SITE = https://github.com/mossmann/hackrf/releases/download/v$(HACKRF_VER
HACKRF_SOURCE = hackrf-$(HACKRF_VERSION).tar.xz
HACKRF_LICENSE = GPL-2.0+ BSD-3c
HACKRF_LICENSE_FILES = COPYING
-HACKRF_DEPENDENCIES = fftw libusb
+HACKRF_DEPENDENCIES = fftw-single libusb
HACKRF_SUBDIR = host
HACKRF_INSTALL_STAGING = YES
--
2.19.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 07/11] httping: update package to use new fftw structure
2018-11-28 16:12 ` [Buildroot] [PATCH 06/11] gqrx: use select instead of depend for fftw package and fix DEPENDENCIES Gwenhael Goavec-Merou
@ 2018-11-28 16:12 ` Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 08/11] imagemagick: reference explicitly fftw double Gwenhael Goavec-Merou
0 siblings, 1 reply; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-28 16:12 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/httping/httping.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/httping/httping.mk b/package/httping/httping.mk
index 955ee3131b..9b44a8fca3 100644
--- a/package/httping/httping.mk
+++ b/package/httping/httping.mk
@@ -17,9 +17,9 @@ HTTPING_DEPENDENCIES = \
$(if $(BR2_PACKAGE_LIBICONV),libiconv) \
$(if $(BR2_PACKAGE_NCURSES_WCHAR),ncurses) \
$(if $(BR2_PACKAGE_OPENSSL),openssl) \
- $(if $(BR2_PACKAGE_FFTW),fftw)
+ $(if $(BR2_PACKAGE_FFTW),fftw-double)
HTTPING_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) \
- FW=$(if $(BR2_PACKAGE_FFTW),yes,no) \
+ FW=$(if $(BR2_PACKAGE_FFTW_PRECISION_DOUBLE),yes,no) \
NC=$(if $(BR2_PACKAGE_NCURSES_WCHAR),yes,no) \
SSL=$(if $(BR2_PACKAGE_OPENSSL),yes,no) \
TFO=$(if $(BR2_PACKAGE_HTTPING_TFO),yes,no) \
--
2.19.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 08/11] imagemagick: reference explicitly fftw double
2018-11-28 16:12 ` [Buildroot] [PATCH 07/11] httping: update package to use new fftw structure Gwenhael Goavec-Merou
@ 2018-11-28 16:12 ` Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 09/11] libvips: " Gwenhael Goavec-Merou
0 siblings, 1 reply; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-28 16:12 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/imagemagick/imagemagick.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk
index 72482267ce..b766aa8432 100644
--- a/package/imagemagick/imagemagick.mk
+++ b/package/imagemagick/imagemagick.mk
@@ -113,11 +113,11 @@ else
IMAGEMAGICK_CONF_OPTS += --without-lzma
endif
-ifeq ($(BR2_PACKAGE_FFTW),y)
+ifeq ($(BR2_PACKAGE_FFTW_DOUBLE_PRECISION),y)
# configure script misdetects these leading to build errors
IMAGEMAGICK_CONF_ENV += ac_cv_func_creal=yes ac_cv_func_cimag=yes
IMAGEMAGICK_CONF_OPTS += --with-fftw
-IMAGEMAGICK_DEPENDENCIES += fftw
+IMAGEMAGICK_DEPENDENCIES += fftw-double
else
IMAGEMAGICK_CONF_OPTS += --without-fftw
endif
--
2.19.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 09/11] libvips: reference explicitly fftw double
2018-11-28 16:12 ` [Buildroot] [PATCH 08/11] imagemagick: reference explicitly fftw double Gwenhael Goavec-Merou
@ 2018-11-28 16:12 ` Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 10/11] pulseaudio: update dependency to fftw-single Gwenhael Goavec-Merou
0 siblings, 1 reply; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-28 16:12 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/libvips/libvips.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/libvips/libvips.mk b/package/libvips/libvips.mk
index 8078e046d1..ac566f85b7 100644
--- a/package/libvips/libvips.mk
+++ b/package/libvips/libvips.mk
@@ -68,9 +68,9 @@ else
LIBVIPS_CONF_OPTS += --without-tiff
endif
-ifeq ($(BR2_PACKAGE_FFTW),y)
+ifeq ($(BR2_PACKAGE_FFTW_PRECISION_DOUBLE),y)
LIBVIPS_CONF_OPTS += --with-fftw
-LIBVIPS_DEPENDENCIES += fftw
+LIBVIPS_DEPENDENCIES += fftw-double
else
LIBVIPS_CONF_OPTS += --without-fftw
endif
--
2.19.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 10/11] pulseaudio: update dependency to fftw-single
2018-11-28 16:12 ` [Buildroot] [PATCH 09/11] libvips: " Gwenhael Goavec-Merou
@ 2018-11-28 16:12 ` Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 11/11] liquid-dsp: update package to use new fftw structure Gwenhael Goavec-Merou
0 siblings, 1 reply; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-28 16:12 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/pulseaudio/pulseaudio.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk
index d1c35654cf..ef744e6696 100644
--- a/package/pulseaudio/pulseaudio.mk
+++ b/package/pulseaudio/pulseaudio.mk
@@ -21,7 +21,7 @@ PULSEAUDIO_DEPENDENCIES = \
$(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \
$(if $(BR2_PACKAGE_DBUS),dbus) \
$(if $(BR2_PACKAGE_OPENSSL),openssl) \
- $(if $(BR2_PACKAGE_FFTW),fftw) \
+ $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),fftw-single) \
$(if $(BR2_PACKAGE_SYSTEMD),systemd)
ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y)
--
2.19.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 11/11] liquid-dsp: update package to use new fftw structure
2018-11-28 16:12 ` [Buildroot] [PATCH 10/11] pulseaudio: update dependency to fftw-single Gwenhael Goavec-Merou
@ 2018-11-28 16:12 ` Gwenhael Goavec-Merou
0 siblings, 0 replies; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-28 16:12 UTC (permalink / raw)
To: buildroot
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
package/liquid-dsp/liquid-dsp.mk | 3 +++
1 file changed, 3 insertions(+)
diff --git a/package/liquid-dsp/liquid-dsp.mk b/package/liquid-dsp/liquid-dsp.mk
index e3114a2d15..c201010d56 100644
--- a/package/liquid-dsp/liquid-dsp.mk
+++ b/package/liquid-dsp/liquid-dsp.mk
@@ -32,6 +32,7 @@ endif
# use FFTW instead of built-in FFT
ifeq ($(BR2_PACKAGE_FFTW_PRECISION_SINGLE),y)
LIQUID_DSP_LDFLAGS += -lfftw3f
+LIQUID_DSP_DEPENDENCIES += fftw-single
endif
# disable altivec, it has build issues
@@ -41,10 +42,12 @@ endif
ifeq ($(BR2_PACKAGE_FFTW_PRECISION_DOUBLE),y)
LIQUID_DSP_LDFLAGS += -lfftw3
+LIQUID_DSP_DEPENDENCIES += fftw-double
endif
ifeq ($(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),y)
LIQUID_DSP_LDFLAGS += -lfftw3l
+LIQUID_DSP_DEPENDENCIES += fftw-long-double
endif
LIQUID_DSP_CONF_OPTS += \
--
2.19.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in
2018-11-28 16:12 ` [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 03/11] aubio: update DEPENDENCIES to fft-single or fft-double depending on enabled option Gwenhael Goavec-Merou
@ 2018-11-29 4:24 ` Baruch Siach
2018-11-29 5:38 ` Gwenhael Goavec-Merou
1 sibling, 1 reply; 17+ messages in thread
From: Baruch Siach @ 2018-11-29 4:24 UTC (permalink / raw)
To: buildroot
Hi Gwenhael Goavec-Merou,
Gwenhael Goavec-Merou writes:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> ---
> package/alsa-utils/Config.in | 5 ++---
> package/alsa-utils/alsa-utils.mk | 2 +-
> 2 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in
> index 012f28aef4..950278d173 100644
> --- a/package/alsa-utils/Config.in
> +++ b/package/alsa-utils/Config.in
> @@ -74,15 +74,14 @@ config BR2_PACKAGE_ALSA_UTILS_ASEQNET
> select BR2_PACKAGE_ALSA_LIB_SEQ
>
> config BR2_PACKAGE_ALSA_UTILS_BAT
> + select BR2_PACKAGE_FFTW
> + select BR2_PACKAGE_FFTW_PRECISION_SINGLE
> bool "bat"
> help
> ALSABAT (ALSA Basic Audio Tester) is a simple command-line
> utility intended to help automate audio driver and sound
> server testing with little human interaction.
>
> - Note that analysis support in alsabat requires fftw single
> - precision.
> -
> config BR2_PACKAGE_ALSA_UTILS_IECSET
> bool "iecset"
> select BR2_PACKAGE_ALSA_LIB_PCM
> diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk
> index 986a745399..9e0094f343 100644
> --- a/package/alsa-utils/alsa-utils.mk
> +++ b/package/alsa-utils/alsa-utils.mk
> @@ -41,7 +41,7 @@ endif
> ifeq ($(BR2_PACKAGE_ALSA_UTILS_BAT),y)
> ALSA_UTILS_CONF_OPTS += --enable-bat
> # Analysis support requires fftw single precision
> -ALSA_UTILS_DEPENDENCIES += $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),fftw)
> +ALSA_UTILS_DEPENDENCIES += fftw-single
This turns the optional fftw dependency into a mandatory one. Is there a
reason for that?
> else
> ALSA_UTILS_CONF_OPTS += --disable-bat
> endif
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in
2018-11-29 4:24 ` [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in Baruch Siach
@ 2018-11-29 5:38 ` Gwenhael Goavec-Merou
2018-11-29 5:56 ` Baruch Siach
0 siblings, 1 reply; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-29 5:38 UTC (permalink / raw)
To: buildroot
Hi Baruch
On Thu, 29 Nov 2018 06:24:15 +0200
Baruch Siach <baruch@tkos.co.il> wrote:
> Hi Gwenhael Goavec-Merou,
>
> Gwenhael Goavec-Merou writes:
>
> > From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> >
> > Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> > ---
> > package/alsa-utils/Config.in | 5 ++---
> > package/alsa-utils/alsa-utils.mk | 2 +-
> > 2 files changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in
> > index 012f28aef4..950278d173 100644
> > --- a/package/alsa-utils/Config.in
> > +++ b/package/alsa-utils/Config.in
> > @@ -74,15 +74,14 @@ config BR2_PACKAGE_ALSA_UTILS_ASEQNET
> > select BR2_PACKAGE_ALSA_LIB_SEQ
> >
> > config BR2_PACKAGE_ALSA_UTILS_BAT
> > + select BR2_PACKAGE_FFTW
> > + select BR2_PACKAGE_FFTW_PRECISION_SINGLE
> > bool "bat"
> > help
> > ALSABAT (ALSA Basic Audio Tester) is a simple command-line
> > utility intended to help automate audio driver and sound
> > server testing with little human interaction.
> >
> > - Note that analysis support in alsabat requires fftw single
> > - precision.
> > -
> > config BR2_PACKAGE_ALSA_UTILS_IECSET
> > bool "iecset"
> > select BR2_PACKAGE_ALSA_LIB_PCM
> > diff --git a/package/alsa-utils/alsa-utils.mk
> > b/package/alsa-utils/alsa-utils.mk index 986a745399..9e0094f343 100644
> > --- a/package/alsa-utils/alsa-utils.mk
> > +++ b/package/alsa-utils/alsa-utils.mk
> > @@ -41,7 +41,7 @@ endif
> > ifeq ($(BR2_PACKAGE_ALSA_UTILS_BAT),y)
> > ALSA_UTILS_CONF_OPTS += --enable-bat
> > # Analysis support requires fftw single precision
> > -ALSA_UTILS_DEPENDENCIES += $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),fftw)
> > +ALSA_UTILS_DEPENDENCIES += fftw-single
>
> This turns the optional fftw dependency into a mandatory one. Is there a
> reason for that?
>
It may be a misunderstanding on my part but it is explicitly noted "Analysis
support requires fftw single". This assumption is confirmed by my distribution
(gentoo) where fftw is added as dependency when bat option is selected.
>
> > else
> > ALSA_UTILS_CONF_OPTS += --disable-bat
> > endif
>
> baruch
>
Gwen
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in
2018-11-29 5:38 ` Gwenhael Goavec-Merou
@ 2018-11-29 5:56 ` Baruch Siach
2018-11-29 6:27 ` Gwenhael Goavec-Merou
0 siblings, 1 reply; 17+ messages in thread
From: Baruch Siach @ 2018-11-29 5:56 UTC (permalink / raw)
To: buildroot
Hi Gwenhael Goavec-Merou,
Gwenhael Goavec-Merou writes:
> On Thu, 29 Nov 2018 06:24:15 +0200
> Baruch Siach <baruch@tkos.co.il> wrote:
>> Gwenhael Goavec-Merou writes:
>>
>> > From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
>> >
>> > Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
>> > ---
>> > package/alsa-utils/Config.in | 5 ++---
>> > package/alsa-utils/alsa-utils.mk | 2 +-
>> > 2 files changed, 3 insertions(+), 4 deletions(-)
>> >
>> > diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in
>> > index 012f28aef4..950278d173 100644
>> > --- a/package/alsa-utils/Config.in
>> > +++ b/package/alsa-utils/Config.in
>> > @@ -74,15 +74,14 @@ config BR2_PACKAGE_ALSA_UTILS_ASEQNET
>> > select BR2_PACKAGE_ALSA_LIB_SEQ
>> >
>> > config BR2_PACKAGE_ALSA_UTILS_BAT
>> > + select BR2_PACKAGE_FFTW
>> > + select BR2_PACKAGE_FFTW_PRECISION_SINGLE
>> > bool "bat"
>> > help
>> > ALSABAT (ALSA Basic Audio Tester) is a simple command-line
>> > utility intended to help automate audio driver and sound
>> > server testing with little human interaction.
>> >
>> > - Note that analysis support in alsabat requires fftw single
>> > - precision.
>> > -
>> > config BR2_PACKAGE_ALSA_UTILS_IECSET
>> > bool "iecset"
>> > select BR2_PACKAGE_ALSA_LIB_PCM
>> > diff --git a/package/alsa-utils/alsa-utils.mk
>> > b/package/alsa-utils/alsa-utils.mk index 986a745399..9e0094f343 100644
>> > --- a/package/alsa-utils/alsa-utils.mk
>> > +++ b/package/alsa-utils/alsa-utils.mk
>> > @@ -41,7 +41,7 @@ endif
>> > ifeq ($(BR2_PACKAGE_ALSA_UTILS_BAT),y)
>> > ALSA_UTILS_CONF_OPTS += --enable-bat
>> > # Analysis support requires fftw single precision
>> > -ALSA_UTILS_DEPENDENCIES += $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),fftw)
>> > +ALSA_UTILS_DEPENDENCIES += fftw-single
>>
>> This turns the optional fftw dependency into a mandatory one. Is there a
>> reason for that?
>>
> It may be a misunderstanding on my part but it is explicitly noted "Analysis
> support requires fftw single". This assumption is confirmed by my distribution
> (gentoo) where fftw is added as dependency when bat option is
> selected.
fftw is required for analysis support. However analysis support itself
is optional. See the alsa-utils configure.ac:
if test x$bat = xtrue; then
...
AC_CHECK_LIB([fftw3f], [fftwf_malloc], , [have_libfftw3="no"])
...
if
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in
2018-11-29 5:56 ` Baruch Siach
@ 2018-11-29 6:27 ` Gwenhael Goavec-Merou
0 siblings, 0 replies; 17+ messages in thread
From: Gwenhael Goavec-Merou @ 2018-11-29 6:27 UTC (permalink / raw)
To: buildroot
Hi,
On Thu, 29 Nov 2018 07:56:35 +0200
Baruch Siach <baruch@tkos.co.il> wrote:
> Gwenhael Goavec-Merou writes:
> > On Thu, 29 Nov 2018 06:24:15 +0200
> > Baruch Siach <baruch@tkos.co.il> wrote:
> >> Gwenhael Goavec-Merou writes:
> >>
> >> > From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> >> >
> >> > Signed-off-by: Gwenhael Goavec-Merou
> >> > <gwenhael.goavec-merou@trabucayre.com> ---
> >> > package/alsa-utils/Config.in | 5 ++---
> >> > package/alsa-utils/alsa-utils.mk | 2 +-
> >> > 2 files changed, 3 insertions(+), 4 deletions(-)
> >> >
> >> > diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in
> >> > index 012f28aef4..950278d173 100644
> >> > --- a/package/alsa-utils/Config.in
> >> > +++ b/package/alsa-utils/Config.in
> >> > @@ -74,15 +74,14 @@ config BR2_PACKAGE_ALSA_UTILS_ASEQNET
> >> > select BR2_PACKAGE_ALSA_LIB_SEQ
> >> >
> >> > config BR2_PACKAGE_ALSA_UTILS_BAT
> >> > + select BR2_PACKAGE_FFTW
> >> > + select BR2_PACKAGE_FFTW_PRECISION_SINGLE
> >> > bool "bat"
> >> > help
> >> > ALSABAT (ALSA Basic Audio Tester) is a simple command-line
> >> > utility intended to help automate audio driver and sound
> >> > server testing with little human interaction.
> >> >
> >> > - Note that analysis support in alsabat requires fftw single
> >> > - precision.
> >> > -
> >> > config BR2_PACKAGE_ALSA_UTILS_IECSET
> >> > bool "iecset"
> >> > select BR2_PACKAGE_ALSA_LIB_PCM
> >> > diff --git a/package/alsa-utils/alsa-utils.mk
> >> > b/package/alsa-utils/alsa-utils.mk index 986a745399..9e0094f343 100644
> >> > --- a/package/alsa-utils/alsa-utils.mk
> >> > +++ b/package/alsa-utils/alsa-utils.mk
> >> > @@ -41,7 +41,7 @@ endif
> >> > ifeq ($(BR2_PACKAGE_ALSA_UTILS_BAT),y)
> >> > ALSA_UTILS_CONF_OPTS += --enable-bat
> >> > # Analysis support requires fftw single precision
> >> > -ALSA_UTILS_DEPENDENCIES += $(if
> >> > $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),fftw) +ALSA_UTILS_DEPENDENCIES +=
> >> > fftw-single
> >>
> >> This turns the optional fftw dependency into a mandatory one. Is there a
> >> reason for that?
> >>
> > It may be a misunderstanding on my part but it is explicitly noted "Analysis
> > support requires fftw single". This assumption is confirmed by my
> > distribution (gentoo) where fftw is added as dependency when bat option is
> > selected.
>
> fftw is required for analysis support. However analysis support itself
> is optional. See the alsa-utils configure.ac:
>
> if test x$bat = xtrue; then
> ...
> AC_CHECK_LIB([fftw3f], [fftwf_malloc], , [have_libfftw3="no"])
> ...
> if
>
Ok. My fault, I've not seen the "analysis support". I must modify this patch
but I will wait a little for others potential reviews to avoid spamming the
mailing-list with long serie of patches.
Gwen
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time.
2018-11-28 16:12 [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in Gwenhael Goavec-Merou
@ 2018-12-03 16:32 ` Arnout Vandecappelle
2018-12-03 18:31 ` Yann E. MORIN
1 sibling, 1 reply; 17+ messages in thread
From: Arnout Vandecappelle @ 2018-12-03 16:32 UTC (permalink / raw)
To: buildroot
Hi Gwenhael,
On 28/11/2018 17:12, Gwenhael Goavec-Merou wrote:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
>
> fftw's library name depends on the precision option. Consequently,
> it's possible to install multiple flavor on the same target.
>
> This patch split current fftw in 5 part:
> - 1 to provide common variables
> - 4 to provide specificities for each precision.
This is a huge change, and IIUC all patches should in fact be squashed since
this change breaks all packages depending on fftw...
Maybe a more gradual approach would be to break out the individual packages one
by one. E.g. start with adding the fftw-single package independently of the
rest, then convert other packages to depend on fftw-single instead of fftw, then
remove BR2_PACKAGE_FFTW_PRECISION_SINGLE.
Finally, you forgot legacy handling. When you remove
BR2_PACKAGE_FFTW_PRECISION_SINGLE, there should be an entry added to
Config.in.legacy that select BR2_PACKAGE_FFTW_SINGLE. Or you have to call the
package fftw-precision-single, of course.
[snip]
> +++ b/package/fftw/fftw-double/fftw-double.mk
> @@ -0,0 +1,23 @@
> +################################################################################
> +#
> +# fft-double
fftw-double
Don't forget to run check-package!
> +#
> +################################################################################
> +
> +FFTW_PRECISION_DOUBLE_VERSION = $(FFTW_VERSION)
> +FFTW_PRECISION_DOUBLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz
> +FFTW_PRECISION_DOUBLE_SITE = $(FFTW_SITE)
> +FFTW_PRECISION_DOUBLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
> +FFTW_PRECISION_DOUBLE_LICENSE = $(FFTW_LICENSE)
> +FFTW_PRECISION_DOUBLE_LICENSE_FILES = $(FFTW_LICENSE_FILES)
> +
> +FFTW_PRECISION_DOUBLE_CONF_ENV = $(FFTW_CONF_ENV)
> +
> +FFTW_PRECISION_DOUBLE_CONF_OPTS= $(FFTW_CONF_OPTS)
> +
> +FFTW_PRECISION_DOUBLE_CFLAGS = $(FFTW_CFLAGS)
> +
> +# x86 optimisations
> +FFTW_PRECISION_DOUBLE_CONF_OPTS += $(if $(BR2_X86_CPU_HAS_SSE2),--enable,--disable)-sse2
> +
> +$(eval $(autotools-package))
This doesn't work: the package is actually called 'fftw-double', so it will use
variables FFTW_DOUBLE_VERSION etc., not FFTW_PRECISION_DOUBLE_VERSION. I don't
know how you tested this, but it can't possibly work...
[snip]
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time.
2018-12-03 16:32 ` [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time Arnout Vandecappelle
@ 2018-12-03 18:31 ` Yann E. MORIN
0 siblings, 0 replies; 17+ messages in thread
From: Yann E. MORIN @ 2018-12-03 18:31 UTC (permalink / raw)
To: buildroot
Gwenhael, Arnout, All,
On 2018-12-03 17:32 +0100, Arnout Vandecappelle spake thusly:
> On 28/11/2018 17:12, Gwenhael Goavec-Merou wrote:
> > From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> >
> > fftw's library name depends on the precision option. Consequently,
> > it's possible to install multiple flavor on the same target.
> >
> > This patch split current fftw in 5 part:
> > - 1 to provide common variables
> > - 4 to provide specificities for each precision.
>
> This is a huge change, and IIUC all patches should in fact be squashed since
> this change breaks all packages depending on fftw...
>
> Maybe a more gradual approach would be to break out the individual packages one
> by one. E.g. start with adding the fftw-single package independently of the
> rest, then convert other packages to depend on fftw-single instead of fftw, then
> remove BR2_PACKAGE_FFTW_PRECISION_SINGLE.
>
> Finally, you forgot legacy handling. When you remove
> BR2_PACKAGE_FFTW_PRECISION_SINGLE, there should be an entry added to
> Config.in.legacy that select BR2_PACKAGE_FFTW_SINGLE. Or you have to call the
> package fftw-precision-single, of course.
What about another approach:
- add a new packages for each of fftw-{single,double,long-double,quad},
- make fftw depends on all of those that are actually enabled, but
fftw by itself does nothing,
- if fftw is enabled, ensure that at least one variant is enabled.
Thus, packages that need any flavour of fftw can just select/depend on
fftw, while those that require specific variant would select/depend what
they need.
Regards,
Yann E. MORIN.
> [snip]
> > +++ b/package/fftw/fftw-double/fftw-double.mk
> > @@ -0,0 +1,23 @@
> > +################################################################################
> > +#
> > +# fft-double
>
> fftw-double
>
> Don't forget to run check-package!
>
> > +#
> > +################################################################################
> > +
> > +FFTW_PRECISION_DOUBLE_VERSION = $(FFTW_VERSION)
> > +FFTW_PRECISION_DOUBLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz
> > +FFTW_PRECISION_DOUBLE_SITE = $(FFTW_SITE)
> > +FFTW_PRECISION_DOUBLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
> > +FFTW_PRECISION_DOUBLE_LICENSE = $(FFTW_LICENSE)
> > +FFTW_PRECISION_DOUBLE_LICENSE_FILES = $(FFTW_LICENSE_FILES)
> > +
> > +FFTW_PRECISION_DOUBLE_CONF_ENV = $(FFTW_CONF_ENV)
> > +
> > +FFTW_PRECISION_DOUBLE_CONF_OPTS= $(FFTW_CONF_OPTS)
> > +
> > +FFTW_PRECISION_DOUBLE_CFLAGS = $(FFTW_CFLAGS)
> > +
> > +# x86 optimisations
> > +FFTW_PRECISION_DOUBLE_CONF_OPTS += $(if $(BR2_X86_CPU_HAS_SSE2),--enable,--disable)-sse2
> > +
> > +$(eval $(autotools-package))
>
> This doesn't work: the package is actually called 'fftw-double', so it will use
> variables FFTW_DOUBLE_VERSION etc., not FFTW_PRECISION_DOUBLE_VERSION. I don't
> know how you tested this, but it can't possibly work...
>
> [snip]
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2018-12-03 18:31 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-28 16:12 [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 03/11] aubio: update DEPENDENCIES to fft-single or fft-double depending on enabled option Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 04/11] gnuradio: change depend to select for ffw and use fft-single in DEPENDENCIES Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 05/11] gqrx: suppress fft depend since fft's precision is selected by gnuradio Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 06/11] gqrx: use select instead of depend for fftw package and fix DEPENDENCIES Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 07/11] httping: update package to use new fftw structure Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 08/11] imagemagick: reference explicitly fftw double Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 09/11] libvips: " Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 10/11] pulseaudio: update dependency to fftw-single Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 11/11] liquid-dsp: update package to use new fftw structure Gwenhael Goavec-Merou
2018-11-29 4:24 ` [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in Baruch Siach
2018-11-29 5:38 ` Gwenhael Goavec-Merou
2018-11-29 5:56 ` Baruch Siach
2018-11-29 6:27 ` Gwenhael Goavec-Merou
2018-12-03 16:32 ` [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time Arnout Vandecappelle
2018-12-03 18:31 ` Yann E. MORIN
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.