All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.