All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 01/17] package/fftw: prepare for splitting into multiple packages
@ 2019-01-21 13:50 Gwenhael Goavec-Merou
  2019-01-21 13:50 ` [Buildroot] [PATCH v4 02/17] package/fftw: break fftw-single into a dedicated package Gwenhael Goavec-Merou
  2019-02-06  9:16 ` [Buildroot] [PATCH v4 01/17] package/fftw: prepare for splitting into multiple packages Thomas Petazzoni
  0 siblings, 2 replies; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:50 UTC (permalink / raw)
  To: buildroot

From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

In preparation for splitting into multiple packages, this commit
changes the fftw.mk package to use FFTW_COMMON_CONF_OPTS,
FFTW_COMMON_CONF_ENV and FFTW_COMMON_CFLAGS, which will be re-used by
the soon-to-be-introduced per-precision packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/fftw/fftw.mk | 40 +++++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 19 deletions(-)

diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk
index b167a2f6f7..8b76b7c190 100644
--- a/package/fftw/fftw.mk
+++ b/package/fftw/fftw.mk
@@ -12,38 +12,40 @@ FFTW_LICENSE_FILES = COPYING
 
 # fortran support only enables generation and installation of fortran sources
 ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y)
-FFTW_CONF_OPTS += --enable-fortran
-FFTW_CONF_ENV += FLIBS="-lgfortran -lm"
+FFTW_COMMON_CONF_OPTS += --enable-fortran
+FFTW_COMMON_CONF_ENV += FLIBS="-lgfortran -lm"
 else
-FFTW_CONF_OPTS += --disable-fortran
+FFTW_COMMON_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)
+FFTW_COMMON_CFLAGS = $(TARGET_CFLAGS)
 ifeq ($(BR2_PACKAGE_FFTW_FAST),y)
-FFTW_CFLAGS += -O3 -ffast-math
+FFTW_COMMON_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
+FFTW_COMMON_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE),--enable,--disable)-sse
+FFTW_COMMON_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)
+FFTW_COMMON_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),--enable,--disable)-neon
+FFTW_COMMON_CFLAGS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),-mfpu=neon)
 
 # Generic optimisations
 ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
-FFTW_CONF_OPTS += --enable-threads
-FFTW_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--without,--with)-combined-threads
+FFTW_COMMON_CONF_OPTS += --enable-threads
+FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--without,--with)-combined-threads
 else
-FFTW_CONF_OPTS += --disable-threads
+FFTW_COMMON_CONF_OPTS += --disable-threads
 endif
-FFTW_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp
-
-FFTW_CONF_OPTS += CFLAGS="$(FFTW_CFLAGS)"
+FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp
+
+FFTW_CONF_ENV = $(FFTW_COMMON_CONF_ENV)
+FFTW_CONF_OPTS += \
+	$(FFTW_COMMON_CONF_OPTS) \
+	$(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),--enable,--disable)-single \
+	$(if $(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),--enable,--disable)-long-double \
+	$(if $(BR2_PACKAGE_FFTW_PRECISION_QUAD),--enable,--disable)-quad-precision \
+	CFLAGS="$(FFTW_COMMON_CFLAGS)"
 
 $(eval $(autotools-package))
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 02/17] package/fftw: break fftw-single into a dedicated package
  2019-01-21 13:50 [Buildroot] [PATCH v4 01/17] package/fftw: prepare for splitting into multiple packages Gwenhael Goavec-Merou
@ 2019-01-21 13:50 ` Gwenhael Goavec-Merou
  2019-01-21 13:50   ` [Buildroot] [PATCH v4 03/17] package/fftw: break fftw-long-double " Gwenhael Goavec-Merou
  2019-02-06  9:16 ` [Buildroot] [PATCH v4 01/17] package/fftw: prepare for splitting into multiple packages Thomas Petazzoni
  1 sibling, 1 reply; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:50 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 breaks fftw single precision into a new package and:

- makes BR2_PACKAGE_FFTW_PRECISION_SINGLE select
  BR2_PACKAGE_FFTW_SINGLE to keep compatibility with packages that use
  BR2_PACKAGE_FFTW_PRECISION_SINGLE. This option will be removed in a
  follow-up commit;

- removes the BR2_PACKAGE_FFTW_USE_SSE and BR2_PACKAGE_FFTW_USE_NEON
  otpions since they are only used for single precision. The
  corresponding CPU-capability options are directly handled in
  the fftw-single package;

- makes fftw depend on fftw-single when this package is enabled.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
[Yann/Thomas:
 - Force --disable-single in FFTW_CONF_OPTS, just for the sake of
   clarity (fftw is no longer going to build the single variant)
 - Use FFTW_SINGLE_DL_SUBDIR to avoid downloading fftw multiple times
 - Minor reformatting tweaks in fftw-single.mk
 - Do not deprecate BR2_PACKAGE_FFTW_PRECISION_SINGLE and instead make
   it select BR2_PACKAGE_FFTW_SINGLE, so that packages using
   BR2_PACKAGE_FFTW_PRECISION_SINGLE continue to work.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/fftw/Config.in                    | 12 ++------
 package/fftw/fftw-single/Config.in        |  5 +++
 package/fftw/fftw-single/fftw-single.hash |  1 +
 package/fftw/fftw-single/fftw-single.mk   | 37 +++++++++++++++++++++++
 package/fftw/fftw.mk                      | 14 +++++----
 5 files changed, 54 insertions(+), 15 deletions(-)

diff --git a/package/fftw/Config.in b/package/fftw/Config.in
index d51f8f3c51..f61784de50 100644
--- a/package/fftw/Config.in
+++ b/package/fftw/Config.in
@@ -12,15 +12,9 @@ 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
@@ -29,9 +23,7 @@ choice
 
 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
+	select BR2_PACKAGE_FFTW_SINGLE
 	help
 	  Compile fftw in single precision, i.e. use 'float' for
 	  floating point type.
@@ -62,6 +54,8 @@ config BR2_PACKAGE_FFTW_PRECISION_QUAD
 
 endchoice
 
+source "package/fftw/fftw-single/Config.in"
+
 config BR2_PACKAGE_FFTW_FAST
 	bool "optimise for speed over accuracy"
 	help
diff --git a/package/fftw/fftw-single/Config.in b/package/fftw/fftw-single/Config.in
new file mode 100644
index 0000000000..ff1486871d
--- /dev/null
+++ b/package/fftw/fftw-single/Config.in
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_FFTW_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..1e26ff7a38
--- /dev/null
+++ b/package/fftw/fftw-single/fftw-single.mk
@@ -0,0 +1,37 @@
+################################################################################
+#
+# fftw-single
+#
+################################################################################
+
+FFTW_SINGLE_VERSION = $(FFTW_VERSION)
+FFTW_SINGLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz
+FFTW_SINGLE_SITE = $(FFTW_SITE)
+FFTW_SINGLE_DL_SUBDIR = fftw
+FFTW_SINGLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
+FFTW_SINGLE_LICENSE = $(FFTW_LICENSE)
+FFTW_SINGLE_LICENSE_FILES = $(FFTW_LICENSE_FILES)
+
+FFTW_SINGLE_CONF_ENV = $(FFTW_COMMON_CONF_ENV)
+
+FFTW_SINGLE_CONF_OPTS = \
+	$(FFTW_COMMON_CONF_OPTS) \
+	CFLAGS="$(FFTW_SINGLE_CFLAGS)" \
+	--enable-single
+
+FFTW_SINGLE_CFLAGS = $(FFTW_COMMON_CFLAGS)
+
+# x86 optimisations
+FFTW_SINGLE_CONF_OPTS += \
+	$(if $(BR2_X86_CPU_HAS_SSE),--enable,--disable)-sse \
+	$(if $(BR2_X86_CPU_HAS_SSE2),--enable,--disable)-sse2
+
+# ARM optimisations
+ifeq ($(BR2_ARM_CPU_HAS_NEON):$(BR2_ARM_SOFT_FLOAT),y:)
+FFTW_SINGLE_CONF_OPTS += --enable-neon
+FFTW_SINGLE_CFLAGS += -mfpu=neon
+else
+FFTW_SINGLE_CONF_OPTS += --disable-neon
+endif
+
+$(eval $(autotools-package))
diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk
index 8b76b7c190..b738928032 100644
--- a/package/fftw/fftw.mk
+++ b/package/fftw/fftw.mk
@@ -10,6 +10,10 @@ FFTW_INSTALL_STAGING = YES
 FFTW_LICENSE = GPL-2.0+
 FFTW_LICENSE_FILES = COPYING
 
+ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y)
+FFTW_DEPENDENCIES += fftw-single
+endif
+
 # fortran support only enables generation and installation of fortran sources
 ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y)
 FFTW_COMMON_CONF_OPTS += --enable-fortran
@@ -19,18 +23,14 @@ FFTW_COMMON_CONF_OPTS += --disable-fortran
 endif
 
 FFTW_COMMON_CFLAGS = $(TARGET_CFLAGS)
+
 ifeq ($(BR2_PACKAGE_FFTW_FAST),y)
 FFTW_COMMON_CFLAGS += -O3 -ffast-math
 endif
 
 # x86 optimisations
-FFTW_COMMON_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE),--enable,--disable)-sse
 FFTW_COMMON_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE2),--enable,--disable)-sse2
 
-# ARM optimisations
-FFTW_COMMON_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),--enable,--disable)-neon
-FFTW_COMMON_CFLAGS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),-mfpu=neon)
-
 # Generic optimisations
 ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
 FFTW_COMMON_CONF_OPTS += --enable-threads
@@ -43,9 +43,11 @@ FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openm
 FFTW_CONF_ENV = $(FFTW_COMMON_CONF_ENV)
 FFTW_CONF_OPTS += \
 	$(FFTW_COMMON_CONF_OPTS) \
-	$(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),--enable,--disable)-single \
+	--disable-single \
 	$(if $(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),--enable,--disable)-long-double \
 	$(if $(BR2_PACKAGE_FFTW_PRECISION_QUAD),--enable,--disable)-quad-precision \
 	CFLAGS="$(FFTW_COMMON_CFLAGS)"
 
 $(eval $(autotools-package))
+
+include $(sort $(wildcard package/fftw/*/*.mk))
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 03/17] package/fftw: break fftw-long-double into a dedicated package
  2019-01-21 13:50 ` [Buildroot] [PATCH v4 02/17] package/fftw: break fftw-single into a dedicated package Gwenhael Goavec-Merou
@ 2019-01-21 13:50   ` Gwenhael Goavec-Merou
  2019-01-21 13:50     ` [Buildroot] [PATCH v4 04/17] package/fftw: break fftw-quad " Gwenhael Goavec-Merou
  0 siblings, 1 reply; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:50 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 breaks fftw long double precision into a new package and:

- makes BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE select
  BR2_PACKAGE_FFTW_LONG_DOUBLE to keep compatibility with packages
  that use BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE. This option will be
  removed in a follow-up commit;

- makes fftw depend on fftw-long-double when this package is enabled.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
[Yann/Thomas:
 - Force --disable-long-double in FFTW_CONF_OPTS, just for the sake of
   clarity (fftw is no longer going to build the long double variant)
 - Use FFTW_LONG_DOUBLE_DL_SUBDIR to avoid downloading fftw multiple times
 - Minor reformatting tweaks in fftw-long-double.mk
 - Do not deprecate BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE and instead
   make it select BR2_PACKAGE_FFTW_LONG_DOUBLE, so that packages using
   BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE continue to work.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Tested-by:  "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/fftw/Config.in                        |  2 ++
 package/fftw/fftw-long-double/Config.in       |  8 +++++++
 .../fftw-long-double/fftw-long-double.hash    |  1 +
 .../fftw/fftw-long-double/fftw-long-double.mk | 22 +++++++++++++++++++
 package/fftw/fftw.mk                          |  6 ++++-
 5 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/package/fftw/Config.in b/package/fftw/Config.in
index f61784de50..4f37b43a60 100644
--- a/package/fftw/Config.in
+++ b/package/fftw/Config.in
@@ -40,6 +40,7 @@ config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE
 	# long-double precision require long-double trigonometric routines
 	depends on !(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && \
 		(BR2_arm || BR2_mips || BR2_mipsel))
+	select BR2_PACKAGE_FFTW_LONG_DOUBLE
 	help
 	  Compile fftw in long double precision, i.e. use 'long double'
 	  for floating point type.
@@ -55,6 +56,7 @@ config BR2_PACKAGE_FFTW_PRECISION_QUAD
 endchoice
 
 source "package/fftw/fftw-single/Config.in"
+source "package/fftw/fftw-long-double/Config.in"
 
 config BR2_PACKAGE_FFTW_FAST
 	bool "optimise for speed over accuracy"
diff --git a/package/fftw/fftw-long-double/Config.in b/package/fftw/fftw-long-double/Config.in
new file mode 100644
index 0000000000..3ee1762850
--- /dev/null
+++ b/package/fftw/fftw-long-double/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_FFTW_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..173050446c
--- /dev/null
+++ b/package/fftw/fftw-long-double/fftw-long-double.mk
@@ -0,0 +1,22 @@
+################################################################################
+#
+# fftw-long-double
+#
+################################################################################
+
+FFTW_LONG_DOUBLE_VERSION = $(FFTW_VERSION)
+FFTW_LONG_DOUBLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz
+FFTW_LONG_DOUBLE_SITE = $(FFTW_SITE)
+FFTW_LONG_DOUBLE_DL_SUBDIR = fftw
+FFTW_LONG_DOUBLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
+FFTW_LONG_DOUBLE_LICENSE = $(FFTW_LICENSE)
+FFTW_LONG_DOUBLE_LICENSE_FILES = $(FFTW_LICENSE_FILES)
+
+FFTW_LONG_DOUBLE_CONF_ENV = $(FFTW_COMMON_CONF_ENV)
+
+FFTW_LONG_DOUBLE_CONF_OPTS = \
+	$(FFTW_COMMON_CONF_OPTS) \
+	CFLAGS="$(FFTW_COMMON_CFLAGS)" \
+	--enable-long-double
+
+$(eval $(autotools-package))
diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk
index b738928032..26137b9f7c 100644
--- a/package/fftw/fftw.mk
+++ b/package/fftw/fftw.mk
@@ -10,6 +10,10 @@ FFTW_INSTALL_STAGING = YES
 FFTW_LICENSE = GPL-2.0+
 FFTW_LICENSE_FILES = COPYING
 
+ifeq ($(BR2_PACKAGE_FFTW_LONG_DOUBLE),y)
+FFTW_DEPENDENCIES += fftw-long-double
+endif
+
 ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y)
 FFTW_DEPENDENCIES += fftw-single
 endif
@@ -44,7 +48,7 @@ FFTW_CONF_ENV = $(FFTW_COMMON_CONF_ENV)
 FFTW_CONF_OPTS += \
 	$(FFTW_COMMON_CONF_OPTS) \
 	--disable-single \
-	$(if $(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),--enable,--disable)-long-double \
+	--disable-long-double \
 	$(if $(BR2_PACKAGE_FFTW_PRECISION_QUAD),--enable,--disable)-quad-precision \
 	CFLAGS="$(FFTW_COMMON_CFLAGS)"
 
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 04/17] package/fftw: break fftw-quad into a dedicated package
  2019-01-21 13:50   ` [Buildroot] [PATCH v4 03/17] package/fftw: break fftw-long-double " Gwenhael Goavec-Merou
@ 2019-01-21 13:50     ` Gwenhael Goavec-Merou
  2019-01-21 13:50       ` [Buildroot] [PATCH v4 05/17] package/fftw: break fftw-double " Gwenhael Goavec-Merou
  2019-02-02 14:38       ` [Buildroot] [PATCH v4 04/17] package/fftw: break fftw-quad into a dedicated package Yann E. MORIN
  0 siblings, 2 replies; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:50 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 breaks fftw quad precision into a new package and:

- makes BR2_PACKAGE_FFTW_PRECISION_QUAD select BR2_PACKAGE_FFTW_QUAD
  to keep compatibility with packages that use
  BR2_PACKAGE_FFTW_PRECISION_QUAD. This option will be removed in a
  follow-up commit;

- makes fftw depend on fftw-quad when this package is enabled.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
[Yann/Thomas:
 - Force --disable-quad in FFTW_CONF_OPTS, just for the sake of
   clarity (fftw is no longer going to build the quad variant)
 - Use FFTW_QUAD_DL_SUBDIR to avoid downloading fftw multiple times
 - Minor reformatting tweaks in fftw-quad.mk
 - Do not deprecate BR2_PACKAGE_FFTW_PRECISION_QUAD and instead
   make it select BR2_PACKAGE_FFTW_QUAD, so that packages using
   BR2_PACKAGE_FFTW_PRECISION_QUAD continue to work.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Gwenhael/Yann]:
 - (BR2_i386 || BR2_x86_64) -> BR2_TOOLCHAIN_HAS_LIBQUADMATH
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/fftw/Config.in                |  2 ++
 package/fftw/fftw-quad/Config.in      |  7 +++++++
 package/fftw/fftw-quad/fftw-quad.hash |  1 +
 package/fftw/fftw-quad/fftw-quad.mk   | 22 ++++++++++++++++++++++
 package/fftw/fftw.mk                  |  6 +++++-
 5 files changed, 37 insertions(+), 1 deletion(-)

diff --git a/package/fftw/Config.in b/package/fftw/Config.in
index 4f37b43a60..8699d9c350 100644
--- a/package/fftw/Config.in
+++ b/package/fftw/Config.in
@@ -49,6 +49,7 @@ 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
+	select BR2_PACKAGE_FFTW_QUAD
 	help
 	  Compile fftw in quadruple precision, i.e. use '__float128' for
 	  floating point type.
@@ -57,6 +58,7 @@ endchoice
 
 source "package/fftw/fftw-single/Config.in"
 source "package/fftw/fftw-long-double/Config.in"
+source "package/fftw/fftw-quad/Config.in"
 
 config BR2_PACKAGE_FFTW_FAST
 	bool "optimise for speed over accuracy"
diff --git a/package/fftw/fftw-quad/Config.in b/package/fftw/fftw-quad/Config.in
new file mode 100644
index 0000000000..10d296df91
--- /dev/null
+++ b/package/fftw/fftw-quad/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_FFTW_QUAD
+	bool "fftw-quad"
+	# quad-precision needs to have a gcc with libquadmath
+	depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH && 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..5ff79b1d46
--- /dev/null
+++ b/package/fftw/fftw-quad/fftw-quad.mk
@@ -0,0 +1,22 @@
+################################################################################
+#
+# fftw-quad
+#
+################################################################################
+
+FFTW_QUAD_VERSION = $(FFTW_VERSION)
+FFTW_QUAD_SOURCE = fftw-$(FFTW_VERSION).tar.gz
+FFTW_QUAD_SITE = $(FFTW_SITE)
+FFTW_QUAD_DL_SUBDIR = fftw
+FFTW_QUAD_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
+FFTW_QUAD_LICENSE = $(FFTW_LICENSE)
+FFTW_QUAD_LICENSE_FILES = $(FFTW_LICENSE_FILES)
+
+FFTW_QUAD_CONF_ENV = $(FFTW_COMMON_CONF_ENV)
+
+FFTW_QUAD_CONF_OPTS = \
+	$(FFTW_COMMON_CONF_OPTS) \
+	CFLAGS="$(FFTW_COMMON_CFLAGS)" \
+	--enable-quad-precision
+
+$(eval $(autotools-package))
diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk
index 26137b9f7c..ccec0e0f2d 100644
--- a/package/fftw/fftw.mk
+++ b/package/fftw/fftw.mk
@@ -14,6 +14,10 @@ ifeq ($(BR2_PACKAGE_FFTW_LONG_DOUBLE),y)
 FFTW_DEPENDENCIES += fftw-long-double
 endif
 
+ifeq ($(BR2_PACKAGE_FFTW_QUAD),y)
+FFTW_DEPENDENCIES += fftw-quad
+endif
+
 ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y)
 FFTW_DEPENDENCIES += fftw-single
 endif
@@ -49,7 +53,7 @@ FFTW_CONF_OPTS += \
 	$(FFTW_COMMON_CONF_OPTS) \
 	--disable-single \
 	--disable-long-double \
-	$(if $(BR2_PACKAGE_FFTW_PRECISION_QUAD),--enable,--disable)-quad-precision \
+	--disable-quad-precision \
 	CFLAGS="$(FFTW_COMMON_CFLAGS)"
 
 $(eval $(autotools-package))
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 05/17] package/fftw: break fftw-double into a dedicated package
  2019-01-21 13:50     ` [Buildroot] [PATCH v4 04/17] package/fftw: break fftw-quad " Gwenhael Goavec-Merou
@ 2019-01-21 13:50       ` Gwenhael Goavec-Merou
  2019-01-21 13:51         ` [Buildroot] [PATCH v4 06/17] package/alsa-utils: use the new fftw-single package Gwenhael Goavec-Merou
  2019-02-02 14:38       ` [Buildroot] [PATCH v4 04/17] package/fftw: break fftw-quad into a dedicated package Yann E. MORIN
  1 sibling, 1 reply; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:50 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 breaks fftw double precision into a new package and:

- makes BR2_PACKAGE_FFTW_PRECISION_DOUBLE select BR2_PACKAGE_FFTW_DOUBLE
  to keep compatibility with packages that use
  BR2_PACKAGE_FFTW_PRECISION_DOUBLE. This option will be removed in a
  follow-up commit;
- removes BR2_PACKAGE_FFTW_USE_SSE2 since it is only used for single
  and double precision. The corresponding options are directly handled in
  fftw-double package;
- makes fftw depend on fftw-double when this package is enabled;
- turns fftw itself into a generic-package instead of an
  autotools-package: it no longer builds anything and only allows to
  trigger the build of the appropriate fftw-* sub-packages, as a
  temporary compatibility mechanism.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
[Yann/Thomas:
 - Use FFTW_DOUBLE_DL_SUBDIR to avoid downloading fftw multiple times
 - Minor reformatting tweaks in fftw-double.mk
 - Drop from fftw.mk FFTW_CONF_ENV/FFTW_CONF_OPTS which are no
   longer used
 - Make fftw a generic package so that its dependencies are built
 - Do not deprecate BR2_PACKAGE_FFTW_PRECISION_DOUBLE and instead
   make it select BR2_PACKAGE_FFTW_DOUBLE, so that packages using
   BR2_PACKAGE_FFTW_PRECISION_QUAD continue to work.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/fftw/Config.in                    |  6 ++----
 package/fftw/fftw-double/Config.in        |  5 +++++
 package/fftw/fftw-double/fftw-double.hash |  1 +
 package/fftw/fftw-double/fftw-double.mk   | 22 ++++++++++++++++++++++
 package/fftw/fftw.mk                      | 17 +++++------------
 5 files changed, 35 insertions(+), 16 deletions(-)

diff --git a/package/fftw/Config.in b/package/fftw/Config.in
index 8699d9c350..ed87de1a70 100644
--- a/package/fftw/Config.in
+++ b/package/fftw/Config.in
@@ -12,9 +12,6 @@ config BR2_PACKAGE_FFTW
 
 if BR2_PACKAGE_FFTW
 
-config BR2_PACKAGE_FFTW_USE_SSE2
-	bool
-
 choice
 	prompt "fftw precision"
 	default BR2_PACKAGE_FFTW_PRECISION_DOUBLE
@@ -30,7 +27,7 @@ config BR2_PACKAGE_FFTW_PRECISION_SINGLE
 
 config BR2_PACKAGE_FFTW_PRECISION_DOUBLE
 	bool "double"
-	select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2
+	select BR2_PACKAGE_FFTW_DOUBLE
 	help
 	  Compile fftw in double precision (the default), i.e. use
 	  'double' for floating point type.
@@ -57,6 +54,7 @@ config BR2_PACKAGE_FFTW_PRECISION_QUAD
 endchoice
 
 source "package/fftw/fftw-single/Config.in"
+source "package/fftw/fftw-double/Config.in"
 source "package/fftw/fftw-long-double/Config.in"
 source "package/fftw/fftw-quad/Config.in"
 
diff --git a/package/fftw/fftw-double/Config.in b/package/fftw/fftw-double/Config.in
new file mode 100644
index 0000000000..cfcd1ef997
--- /dev/null
+++ b/package/fftw/fftw-double/Config.in
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_FFTW_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..4bacb26e56
--- /dev/null
+++ b/package/fftw/fftw-double/fftw-double.mk
@@ -0,0 +1,22 @@
+################################################################################
+#
+# fftw-double
+#
+################################################################################
+
+FFTW_DOUBLE_VERSION = $(FFTW_VERSION)
+FFTW_DOUBLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz
+FFTW_DOUBLE_SITE = $(FFTW_SITE)
+FFTW_DOUBLE_DL_SUBDIR = fftw
+FFTW_DOUBLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
+FFTW_DOUBLE_LICENSE = $(FFTW_LICENSE)
+FFTW_DOUBLE_LICENSE_FILES = $(FFTW_LICENSE_FILES)
+
+FFTW_DOUBLE_CONF_ENV = $(FFTW_COMMON_CONF_ENV)
+
+FFTW_DOUBLE_CONF_OPTS = \
+	$(FFTW_COMMON_CONF_OPTS) \
+	CFLAGS="$(FFTW_COMMON_CFLAGS)" \
+	$(if $(BR2_X86_CPU_HAS_SSE2),--enable,--disable)-sse2
+
+$(eval $(autotools-package))
diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk
index ccec0e0f2d..862ad5edc0 100644
--- a/package/fftw/fftw.mk
+++ b/package/fftw/fftw.mk
@@ -10,6 +10,10 @@ FFTW_INSTALL_STAGING = YES
 FFTW_LICENSE = GPL-2.0+
 FFTW_LICENSE_FILES = COPYING
 
+ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y)
+FFTW_DEPENDENCIES += fftw-double
+endif
+
 ifeq ($(BR2_PACKAGE_FFTW_LONG_DOUBLE),y)
 FFTW_DEPENDENCIES += fftw-long-double
 endif
@@ -36,9 +40,6 @@ ifeq ($(BR2_PACKAGE_FFTW_FAST),y)
 FFTW_COMMON_CFLAGS += -O3 -ffast-math
 endif
 
-# x86 optimisations
-FFTW_COMMON_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE2),--enable,--disable)-sse2
-
 # Generic optimisations
 ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
 FFTW_COMMON_CONF_OPTS += --enable-threads
@@ -48,14 +49,6 @@ FFTW_COMMON_CONF_OPTS += --disable-threads
 endif
 FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp
 
-FFTW_CONF_ENV = $(FFTW_COMMON_CONF_ENV)
-FFTW_CONF_OPTS += \
-	$(FFTW_COMMON_CONF_OPTS) \
-	--disable-single \
-	--disable-long-double \
-	--disable-quad-precision \
-	CFLAGS="$(FFTW_COMMON_CFLAGS)"
-
-$(eval $(autotools-package))
+$(eval $(generic-package))
 
 include $(sort $(wildcard package/fftw/*/*.mk))
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 06/17] package/alsa-utils: use the new fftw-single package
  2019-01-21 13:50       ` [Buildroot] [PATCH v4 05/17] package/fftw: break fftw-double " Gwenhael Goavec-Merou
@ 2019-01-21 13:51         ` Gwenhael Goavec-Merou
  2019-01-21 13:51           ` [Buildroot] [PATCH v4 07/17] package/aubio: use the new fftw-double and fftw-single packages Gwenhael Goavec-Merou
  0 siblings, 1 reply; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/alsa-utils/alsa-utils.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk
index 4ce4aace46..b5c36e0a46 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 += $(if $(BR2_PACKAGE_FFTW_SINGLE),fftw-single)
 else
 ALSA_UTILS_CONF_OPTS += --disable-bat
 endif
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 07/17] package/aubio: use the new fftw-double and fftw-single packages
  2019-01-21 13:51         ` [Buildroot] [PATCH v4 06/17] package/alsa-utils: use the new fftw-single package Gwenhael Goavec-Merou
@ 2019-01-21 13:51           ` Gwenhael Goavec-Merou
  2019-01-21 13:51             ` [Buildroot] [PATCH v4 08/17] package/gnuradio: use the new fftw-single package Gwenhael Goavec-Merou
  2019-02-02 14:52             ` [Buildroot] [PATCH v4 07/17] package/aubio: use the new fftw-double and fftw-single packages Yann E. MORIN
  0 siblings, 2 replies; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 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>
[Thomas: drop the condition on BR2_PACKAGE_FFTW]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Changes v3 -> v4:
 * allows to build samplerate without fft support and ensure samplerate and
   double precision are not enabled in same time. (yann)
---
 package/aubio/aubio.mk | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/package/aubio/aubio.mk b/package/aubio/aubio.mk
index b0cc8b899e..ba182d9bd7 100644
--- a/package/aubio/aubio.mk
+++ b/package/aubio/aubio.mk
@@ -27,7 +27,7 @@ AUBIO_CONF_OPTS += --disable-sndfile
 endif
 
 # Could not compile aubio in double precision mode with libsamplerate
-ifeq ($(BR2_PACKAGE_LIBSAMPLERATE)$(BR2_PACKAGE_FFTW_PRECISION_SINGLE),yy)
+ifeq ($(BR2_PACKAGE_LIBSAMPLERATE):$(BR2_PACKAGE_FFTW_DOUBLE),y:)
 AUBIO_DEPENDENCIES += libsamplerate
 AUBIO_CONF_OPTS += --enable-samplerate
 else
@@ -41,15 +41,14 @@ else
 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)
+ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y)
 AUBIO_CONF_OPTS += --enable-fftw3 --enable-double
-else ifeq ($(BR2_PACKAGE_FFTW_PRECISION_SINGLE),y)
+AUBIO_DEPENDENCIES += fftw-double
+else ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y)
 AUBIO_CONF_OPTS += --enable-fftw3f --disable-double
-endif
-else  # !BR2_PACKAGE_FFTW
+AUBIO_DEPENDENCIES += fftw-single
+else
 AUBIO_CONF_OPTS += --disable-fftw3
 endif
 
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 08/17] package/gnuradio: use the new fftw-single package
  2019-01-21 13:51           ` [Buildroot] [PATCH v4 07/17] package/aubio: use the new fftw-double and fftw-single packages Gwenhael Goavec-Merou
@ 2019-01-21 13:51             ` Gwenhael Goavec-Merou
  2019-01-21 13:51               ` [Buildroot] [PATCH v4 09/17] package/gqrx: remove unneeded fftw dependency Gwenhael Goavec-Merou
  2019-02-02 16:34               ` [Buildroot] [PATCH v4 08/17] package/gnuradio: use the new fftw-single package Yann E. MORIN
  2019-02-02 14:52             ` [Buildroot] [PATCH v4 07/17] package/aubio: use the new fftw-double and fftw-single packages Yann E. MORIN
  1 sibling, 2 replies; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 UTC (permalink / raw)
  To: buildroot

From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>

Thanks to the new fftw package organization, we can use a "select"
instead of "depends on".

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.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..533a49c81e 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_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] 33+ messages in thread

* [Buildroot] [PATCH v4 09/17] package/gqrx: remove unneeded fftw dependency
  2019-01-21 13:51             ` [Buildroot] [PATCH v4 08/17] package/gnuradio: use the new fftw-single package Gwenhael Goavec-Merou
@ 2019-01-21 13:51               ` Gwenhael Goavec-Merou
  2019-01-21 13:51                 ` [Buildroot] [PATCH v4 10/17] package/hackrf: use the new fftw-single package Gwenhael Goavec-Merou
  2019-02-02 16:40                 ` [Buildroot] [PATCH v4 09/17] package/gqrx: remove unneeded fftw dependency Yann E. MORIN
  2019-02-02 16:34               ` [Buildroot] [PATCH v4 08/17] package/gnuradio: use the new fftw-single package Yann E. MORIN
  1 sibling, 2 replies; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 UTC (permalink / raw)
  To: buildroot

From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>

Thanks to the new fftw package organization, gnuradio already selects
the appropriate fftw precision, and there is no need to propagate the
"depends on BR2_PACKAGE_FFTW_PRECISION_SINGLE" that used to be present
in the gnuradio package.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Changes v3 -> v4:
 * use select instead of depends on for GNURadio and propagates
   dependencies.(yann)
---
 package/gqrx/Config.in | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/package/gqrx/Config.in b/package/gqrx/Config.in
index 1dc40c6d24..b55b5740ad 100644
--- a/package/gqrx/Config.in
+++ b/package/gqrx/Config.in
@@ -1,22 +1,25 @@
-comment "gqrx needs a toolchain w/ C++, threads, wchar"
+comment "gqrx needs a toolchain w/ C++, threads, wchar, dynamic library"
+	depends on BR2_USE_MMU # gnuradio
+	depends on !BR2_PACKAGE_PYTHON3 # gnuradio
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
-		!BR2_USE_WCHAR
+		!BR2_USE_WCHAR || !BR2_STATIC_LIBS
 
-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"
+	depends on !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_PACKAGE_PYTHON3
 	depends on BR2_INSTALL_LIBSTDCPP # boost
+	depends on !BR2_STATIC_LIBS # gnuradio
+	depends on BR2_USE_MMU # gnuradio
 	depends on BR2_TOOLCHAIN_HAS_THREADS # boost
 	depends on BR2_USE_WCHAR # boost
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
 	select BR2_PACKAGE_BOOST_SYSTEM
+	select BR2_PACKAGE_GNURADIO
 	select BR2_PACKAGE_GNURADIO_ANALOG
 	select BR2_PACKAGE_GNURADIO_AUDIO
 	select BR2_PACKAGE_GNURADIO_BLOCKS
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 10/17] package/hackrf: use the new fftw-single package
  2019-01-21 13:51               ` [Buildroot] [PATCH v4 09/17] package/gqrx: remove unneeded fftw dependency Gwenhael Goavec-Merou
@ 2019-01-21 13:51                 ` Gwenhael Goavec-Merou
  2019-01-21 13:51                   ` [Buildroot] [PATCH v4 11/17] package/httping: use the new fftw-double package Gwenhael Goavec-Merou
  2019-02-02 16:40                 ` [Buildroot] [PATCH v4 09/17] package/gqrx: remove unneeded fftw dependency Yann E. MORIN
  1 sibling, 1 reply; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 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..b86790f2b0 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_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] 33+ messages in thread

* [Buildroot] [PATCH v4 11/17] package/httping: use the new fftw-double package
  2019-01-21 13:51                 ` [Buildroot] [PATCH v4 10/17] package/hackrf: use the new fftw-single package Gwenhael Goavec-Merou
@ 2019-01-21 13:51                   ` Gwenhael Goavec-Merou
  2019-01-21 13:51                     ` [Buildroot] [PATCH v4 12/17] package/imagemagick: " Gwenhael Goavec-Merou
  2019-02-02 16:41                     ` [Buildroot] [PATCH v4 11/17] package/httping: " Yann E. MORIN
  0 siblings, 2 replies; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 UTC (permalink / raw)
  To: buildroot

From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>

This patch add an explicitly dependency to fftw-double (the only compatible
fftw's flavor) instead of default behavior where the package do assumption
about the compatible version.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Changes v3 -> v4:
 * improve commit message about fftw version. (Yann)
---
 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..b3a625a8e1 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_DOUBLE),fftw-double)
 HTTPING_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) \
-	FW=$(if $(BR2_PACKAGE_FFTW),yes,no) \
+	FW=$(if $(BR2_PACKAGE_FFTW_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] 33+ messages in thread

* [Buildroot] [PATCH v4 12/17] package/imagemagick: use the new fftw-double package
  2019-01-21 13:51                   ` [Buildroot] [PATCH v4 11/17] package/httping: use the new fftw-double package Gwenhael Goavec-Merou
@ 2019-01-21 13:51                     ` Gwenhael Goavec-Merou
  2019-01-21 13:51                       ` [Buildroot] [PATCH v4 13/17] package/libvips: " Gwenhael Goavec-Merou
  2019-02-02 16:42                       ` [Buildroot] [PATCH v4 12/17] package/imagemagick: " Yann E. MORIN
  2019-02-02 16:41                     ` [Buildroot] [PATCH v4 11/17] package/httping: " Yann E. MORIN
  1 sibling, 2 replies; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 UTC (permalink / raw)
  To: buildroot

From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>

This patch add an explicitly dependency to fftw-double (the only compatible
fftw's flavor) instead of default behavior where the package do assumption
about the compatible version.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Changes v3 -> v4:
 * improve commit message about fftw version. (Yann)
---
 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..7678980582 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),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] 33+ messages in thread

* [Buildroot] [PATCH v4 13/17] package/libvips: use the new fftw-double package
  2019-01-21 13:51                     ` [Buildroot] [PATCH v4 12/17] package/imagemagick: " Gwenhael Goavec-Merou
@ 2019-01-21 13:51                       ` Gwenhael Goavec-Merou
  2019-01-21 13:51                         ` [Buildroot] [PATCH v4 14/17] package/pulseaudio: use the new fftw-single package Gwenhael Goavec-Merou
  2019-02-02 16:44                         ` [Buildroot] [PATCH v4 13/17] package/libvips: use the new fftw-double package Yann E. MORIN
  2019-02-02 16:42                       ` [Buildroot] [PATCH v4 12/17] package/imagemagick: " Yann E. MORIN
  1 sibling, 2 replies; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 UTC (permalink / raw)
  To: buildroot

From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>

This patch add an explicitly dependency to fftw-double (the only compatible
fftw's flavor) instead of default behavior where the package do assumption
about the compatible version.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Changes v3 -> v4:
 * improve commit message about fftw version. (Yann)
---
 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..7622f32fbc 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_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] 33+ messages in thread

* [Buildroot] [PATCH v4 14/17] package/pulseaudio: use the new fftw-single package
  2019-01-21 13:51                       ` [Buildroot] [PATCH v4 13/17] package/libvips: " Gwenhael Goavec-Merou
@ 2019-01-21 13:51                         ` Gwenhael Goavec-Merou
  2019-01-21 13:51                           ` [Buildroot] [PATCH v4 15/17] package/liquid-dsp: use the new fftw-{single, double, long-double} packages Gwenhael Goavec-Merou
  2019-02-02 16:45                           ` [Buildroot] [PATCH v4 14/17] package/pulseaudio: use the new fftw-single package Yann E. MORIN
  2019-02-02 16:44                         ` [Buildroot] [PATCH v4 13/17] package/libvips: use the new fftw-double package Yann E. MORIN
  1 sibling, 2 replies; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 UTC (permalink / raw)
  To: buildroot

From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>

This patch add an explicitly dependency to fftw-single (the only compatible
fftw's flavor) instead of default behavior where the package do assumption
about the compatible version.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Changes v3 -> v4:
 * improve commit message about fftw version. (Yann)
---
 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..c91af22935 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_SINGLE),fftw-single) \
 	$(if $(BR2_PACKAGE_SYSTEMD),systemd)
 
 ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y)
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 15/17] package/liquid-dsp: use the new fftw-{single, double, long-double} packages
  2019-01-21 13:51                         ` [Buildroot] [PATCH v4 14/17] package/pulseaudio: use the new fftw-single package Gwenhael Goavec-Merou
@ 2019-01-21 13:51                           ` Gwenhael Goavec-Merou
  2019-01-21 13:51                             ` [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package Gwenhael Goavec-Merou
  2019-02-02 16:54                             ` [Buildroot] [PATCH v4 15/17] package/liquid-dsp: use the new fftw-{single, double, long-double} packages Yann E. MORIN
  2019-02-02 16:45                           ` [Buildroot] [PATCH v4 14/17] package/pulseaudio: use the new fftw-single package Yann E. MORIN
  1 sibling, 2 replies; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 package/liquid-dsp/liquid-dsp.mk | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/package/liquid-dsp/liquid-dsp.mk b/package/liquid-dsp/liquid-dsp.mk
index db67893844..6aa27a5248 100644
--- a/package/liquid-dsp/liquid-dsp.mk
+++ b/package/liquid-dsp/liquid-dsp.mk
@@ -30,9 +30,9 @@ LIQUID_DSP_CFLAGS += -ffast-math
 endif
 
 # use FFTW instead of built-in FFT
-ifeq ($(BR2_PACKAGE_FFTW_PRECISION_SINGLE),y)
+ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y)
 LIQUID_DSP_LDFLAGS += -lfftw3f
-LIQUID_DSP_DEPENDENCIES += fftw
+LIQUID_DSP_DEPENDENCIES += fftw-single
 endif
 
 # disable altivec, it has build issues
@@ -40,14 +40,14 @@ ifeq ($(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),y)
 LIQUID_DSP_CONF_OPTS += --enable-simdoverride
 endif
 
-ifeq ($(BR2_PACKAGE_FFTW_PRECISION_DOUBLE),y)
+ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y)
 LIQUID_DSP_LDFLAGS += -lfftw3
-LIQUID_DSP_DEPENDENCIES += fftw
+LIQUID_DSP_DEPENDENCIES += fftw-double
 endif
 
-ifeq ($(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),y)
+ifeq ($(BR2_PACKAGE_FFTW_LONG_DOUBLE),y)
 LIQUID_DSP_LDFLAGS += -lfftw3l
-LIQUID_DSP_DEPENDENCIES += fftw
+LIQUID_DSP_DEPENDENCIES += fftw-long-double
 endif
 
 LIQUID_DSP_CONF_OPTS += \
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package
  2019-01-21 13:51                           ` [Buildroot] [PATCH v4 15/17] package/liquid-dsp: use the new fftw-{single, double, long-double} packages Gwenhael Goavec-Merou
@ 2019-01-21 13:51                             ` Gwenhael Goavec-Merou
  2019-01-21 13:51                               ` [Buildroot] [PATCH v4 17/17] package/liquid-dsp: drop support for fftw-double and fftw-long-double Gwenhael Goavec-Merou
                                                 ` (2 more replies)
  2019-02-02 16:54                             ` [Buildroot] [PATCH v4 15/17] package/liquid-dsp: use the new fftw-{single, double, long-double} packages Yann E. MORIN
  1 sibling, 3 replies; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 UTC (permalink / raw)
  To: buildroot

From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

fftw is no longer a package: only fftw-single, fftw-double,
fftw-long-double and fftw-quad are. fftw.mk only contains some common
definitions that are used by the different fftw variants.

The old BR2_PACKAGE_FFTW_PRECISION_* options, which are no longer used
anywhere, are moved to Config.in.legacy.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
 Changes v3 -> V4:
 * when BR2_PACKAGE_FFTW is enabled without flavour, selects fftw-double
   by default. (Yann)
 * suppress suppress two consecutive empty lines. (Yann)
---
 Config.in.legacy       | 35 +++++++++++++++++++++++++++++++++
 package/fftw/Config.in | 44 +++---------------------------------------
 package/fftw/fftw.mk   | 18 -----------------
 3 files changed, 38 insertions(+), 59 deletions(-)

diff --git a/Config.in.legacy b/Config.in.legacy
index ef460752f3..b26a070759 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -154,6 +154,41 @@ config BR2_PACKAGE_BOOST_SIGNALS
 	  was announced in 1.54. Users are encouraged to use Signals2
 	  instead.
 
+config BR2_PACKAGE_FFTW_PRECISION_SINGLE
+	bool "single"
+	select BR2_LEGACY
+	select BR2_PACKAGE_FFTW_SINGLE
+	help
+	  This option has been removed in favor of
+	  BR2_PACKAGE_FFTW_SINGLE.
+
+config BR2_PACKAGE_FFTW_PRECISION_DOUBLE
+	bool "double"
+	select BR2_LEGACY
+	select BR2_PACKAGE_FFTW_DOUBLE
+	help
+	  This option has been removed in favor of
+	  BR2_PACKAGE_FFTW_DOUBLE.
+
+config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE
+	bool "long double"
+	depends on !(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && \
+		(BR2_arm || BR2_mips || BR2_mipsel))
+	select BR2_LEGACY
+	select BR2_PACKAGE_FFTW_LONG_DOUBLE
+	help
+	  This option has been removed in favor of
+	  BR2_PACKAGE_FFTW_LONG_DOUBLE.
+
+config BR2_PACKAGE_FFTW_PRECISION_QUAD
+	bool "quad"
+	depends on (BR2_i386 || BR2_x86_64) && BR2_USE_WCHAR
+	select BR2_LEGACY
+	select BR2_PACKAGE_FFTW_QUAD
+	help
+	  This option has been removed in favor of
+	  BR2_PACKAGE_FFTW_QUAD.
+
 config BR2_PACKAGE_LUA_5_2
 	bool "Lua 5.2.x version removed"
 	select BR2_LEGACY
diff --git a/package/fftw/Config.in b/package/fftw/Config.in
index ed87de1a70..89d99c5f9d 100644
--- a/package/fftw/Config.in
+++ b/package/fftw/Config.in
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_FFTW
 	bool "fftw"
+	select BR2_PACKAGE_FFTW_DOUBLE if !BR2_PACKAGE_FFTW_SINGLE \
+		&& !BR2_PACKAGE_FFTW_LONG_DOUBLE && !BR2_PACKAGE_FFTW_QUAD
+
 	help
 	  Library for computing Fast Fourier Transforms.
 
@@ -12,47 +15,6 @@ config BR2_PACKAGE_FFTW
 
 if BR2_PACKAGE_FFTW
 
-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_SINGLE
-	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_DOUBLE
-	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))
-	select BR2_PACKAGE_FFTW_LONG_DOUBLE
-	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
-	select BR2_PACKAGE_FFTW_QUAD
-	help
-	  Compile fftw in quadruple precision, i.e. use '__float128' for
-	  floating point type.
-
-endchoice
-
 source "package/fftw/fftw-single/Config.in"
 source "package/fftw/fftw-double/Config.in"
 source "package/fftw/fftw-long-double/Config.in"
diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk
index 862ad5edc0..bcfdb9c96a 100644
--- a/package/fftw/fftw.mk
+++ b/package/fftw/fftw.mk
@@ -10,22 +10,6 @@ FFTW_INSTALL_STAGING = YES
 FFTW_LICENSE = GPL-2.0+
 FFTW_LICENSE_FILES = COPYING
 
-ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y)
-FFTW_DEPENDENCIES += fftw-double
-endif
-
-ifeq ($(BR2_PACKAGE_FFTW_LONG_DOUBLE),y)
-FFTW_DEPENDENCIES += fftw-long-double
-endif
-
-ifeq ($(BR2_PACKAGE_FFTW_QUAD),y)
-FFTW_DEPENDENCIES += fftw-quad
-endif
-
-ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y)
-FFTW_DEPENDENCIES += fftw-single
-endif
-
 # fortran support only enables generation and installation of fortran sources
 ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y)
 FFTW_COMMON_CONF_OPTS += --enable-fortran
@@ -49,6 +33,4 @@ FFTW_COMMON_CONF_OPTS += --disable-threads
 endif
 FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp
 
-$(eval $(generic-package))
-
 include $(sort $(wildcard package/fftw/*/*.mk))
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 17/17] package/liquid-dsp: drop support for fftw-double and fftw-long-double
  2019-01-21 13:51                             ` [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package Gwenhael Goavec-Merou
@ 2019-01-21 13:51                               ` Gwenhael Goavec-Merou
  2019-02-05 21:09                                 ` Thomas Petazzoni
  2019-02-02 17:16                               ` [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package Yann E. MORIN
  2019-02-02 22:08                               ` Yann E. MORIN
  2 siblings, 1 reply; 33+ messages in thread
From: Gwenhael Goavec-Merou @ 2019-01-21 13:51 UTC (permalink / raw)
  To: buildroot

From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

liquid-dsp has the following code:
#if HAVE_FFTW3_H && !defined LIQUID_FFTOVERRIDE
#   include <fftw3.h>
#   define FFT_PLAN             fftwf_plan
#   define FFT_CREATE_PLAN      fftwf_plan_dft_1d
#   define FFT_DESTROY_PLAN     fftwf_destroy_plan
#   define FFT_EXECUTE          fftwf_execute
#   define FFT_DIR_FORWARD      FFTW_FORWARD
#   define FFT_DIR_BACKWARD     FFTW_BACKWARD
#   define FFT_METHOD           FFTW_ESTIMATE
#else
#   define FFT_PLAN             fftplan
#   define FFT_CREATE_PLAN      fft_create_plan
#   define FFT_DESTROY_PLAN     fft_destroy_plan
#   define FFT_EXECUTE          fft_execute
#   define FFT_DIR_FORWARD      LIQUID_FFT_FORWARD
#   define FFT_DIR_BACKWARD     LIQUID_FFT_BACKWARD
#   define FFT_METHOD           0
#endif

So, if it uses the external fftw library, it can only use the fftwf
variant, i.e the fftw-single variant. Otherwise, it uses its internal
FFT library.

There is no way for liquid-dsp to use fftw-double or fftw-long-double.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
 package/liquid-dsp/liquid-dsp.mk | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/package/liquid-dsp/liquid-dsp.mk b/package/liquid-dsp/liquid-dsp.mk
index 6aa27a5248..64c403e87f 100644
--- a/package/liquid-dsp/liquid-dsp.mk
+++ b/package/liquid-dsp/liquid-dsp.mk
@@ -40,16 +40,6 @@ ifeq ($(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),y)
 LIQUID_DSP_CONF_OPTS += --enable-simdoverride
 endif
 
-ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y)
-LIQUID_DSP_LDFLAGS += -lfftw3
-LIQUID_DSP_DEPENDENCIES += fftw-double
-endif
-
-ifeq ($(BR2_PACKAGE_FFTW_LONG_DOUBLE),y)
-LIQUID_DSP_LDFLAGS += -lfftw3l
-LIQUID_DSP_DEPENDENCIES += fftw-long-double
-endif
-
 LIQUID_DSP_CONF_OPTS += \
 	CFLAGS="$(LIQUID_DSP_CFLAGS)" \
 	LDFLAGS="$(LIQUID_DSP_LDFLAGS)"
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 04/17] package/fftw: break fftw-quad into a dedicated package
  2019-01-21 13:50     ` [Buildroot] [PATCH v4 04/17] package/fftw: break fftw-quad " Gwenhael Goavec-Merou
  2019-01-21 13:50       ` [Buildroot] [PATCH v4 05/17] package/fftw: break fftw-double " Gwenhael Goavec-Merou
@ 2019-02-02 14:38       ` Yann E. MORIN
  1 sibling, 0 replies; 33+ messages in thread
From: Yann E. MORIN @ 2019-02-02 14:38 UTC (permalink / raw)
  To: buildroot

Gwenhael, All,

On 2019-01-21 14:50 +0100, Gwenhael Goavec-Merou spake thusly:
> 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 breaks fftw quad precision into a new package and:
> 
> - makes BR2_PACKAGE_FFTW_PRECISION_QUAD select BR2_PACKAGE_FFTW_QUAD
>   to keep compatibility with packages that use
>   BR2_PACKAGE_FFTW_PRECISION_QUAD. This option will be removed in a
>   follow-up commit;
> 
> - makes fftw depend on fftw-quad when this package is enabled.
> 
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> [Yann/Thomas:
>  - Force --disable-quad in FFTW_CONF_OPTS, just for the sake of
>    clarity (fftw is no longer going to build the quad variant)
>  - Use FFTW_QUAD_DL_SUBDIR to avoid downloading fftw multiple times
>  - Minor reformatting tweaks in fftw-quad.mk
>  - Do not deprecate BR2_PACKAGE_FFTW_PRECISION_QUAD and instead
>    make it select BR2_PACKAGE_FFTW_QUAD, so that packages using
>    BR2_PACKAGE_FFTW_PRECISION_QUAD continue to work.]
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> [Gwenhael/Yann]:
>  - (BR2_i386 || BR2_x86_64) -> BR2_TOOLCHAIN_HAS_LIBQUADMATH
> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/fftw/Config.in                |  2 ++
>  package/fftw/fftw-quad/Config.in      |  7 +++++++
>  package/fftw/fftw-quad/fftw-quad.hash |  1 +
>  package/fftw/fftw-quad/fftw-quad.mk   | 22 ++++++++++++++++++++++
>  package/fftw/fftw.mk                  |  6 +++++-
>  5 files changed, 37 insertions(+), 1 deletion(-)
> 
> diff --git a/package/fftw/Config.in b/package/fftw/Config.in
> index 4f37b43a60..8699d9c350 100644
> --- a/package/fftw/Config.in
> +++ b/package/fftw/Config.in
> @@ -49,6 +49,7 @@ 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

You forgot to switch to libquadmath here, although...

> +	select BR2_PACKAGE_FFTW_QUAD
>  	help
>  	  Compile fftw in quadruple precision, i.e. use '__float128' for
>  	  floating point type.
> @@ -57,6 +58,7 @@ endchoice
>  
>  source "package/fftw/fftw-single/Config.in"
>  source "package/fftw/fftw-long-double/Config.in"
> +source "package/fftw/fftw-quad/Config.in"
>  
>  config BR2_PACKAGE_FFTW_FAST
>  	bool "optimise for speed over accuracy"
> diff --git a/package/fftw/fftw-quad/Config.in b/package/fftw/fftw-quad/Config.in
> new file mode 100644
> index 0000000000..10d296df91
> --- /dev/null
> +++ b/package/fftw/fftw-quad/Config.in
> @@ -0,0 +1,7 @@
> +config BR2_PACKAGE_FFTW_QUAD
> +	bool "fftw-quad"
> +	# quad-precision needs to have a gcc with libquadmath
> +	depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR

... you did it here, and thus the old symbol that does the 'select' does
not have the same dependencies as the new symbol.

Also, this change should be done in own patch all alone (i.e. do the
chage in a patch just before the conversions to individual packages).

Regards,
Yann E. MORIN.

> +	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..5ff79b1d46
> --- /dev/null
> +++ b/package/fftw/fftw-quad/fftw-quad.mk
> @@ -0,0 +1,22 @@
> +################################################################################
> +#
> +# fftw-quad
> +#
> +################################################################################
> +
> +FFTW_QUAD_VERSION = $(FFTW_VERSION)
> +FFTW_QUAD_SOURCE = fftw-$(FFTW_VERSION).tar.gz
> +FFTW_QUAD_SITE = $(FFTW_SITE)
> +FFTW_QUAD_DL_SUBDIR = fftw
> +FFTW_QUAD_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
> +FFTW_QUAD_LICENSE = $(FFTW_LICENSE)
> +FFTW_QUAD_LICENSE_FILES = $(FFTW_LICENSE_FILES)
> +
> +FFTW_QUAD_CONF_ENV = $(FFTW_COMMON_CONF_ENV)
> +
> +FFTW_QUAD_CONF_OPTS = \
> +	$(FFTW_COMMON_CONF_OPTS) \
> +	CFLAGS="$(FFTW_COMMON_CFLAGS)" \
> +	--enable-quad-precision
> +
> +$(eval $(autotools-package))
> diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk
> index 26137b9f7c..ccec0e0f2d 100644
> --- a/package/fftw/fftw.mk
> +++ b/package/fftw/fftw.mk
> @@ -14,6 +14,10 @@ ifeq ($(BR2_PACKAGE_FFTW_LONG_DOUBLE),y)
>  FFTW_DEPENDENCIES += fftw-long-double
>  endif
>  
> +ifeq ($(BR2_PACKAGE_FFTW_QUAD),y)
> +FFTW_DEPENDENCIES += fftw-quad
> +endif
> +
>  ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y)
>  FFTW_DEPENDENCIES += fftw-single
>  endif
> @@ -49,7 +53,7 @@ FFTW_CONF_OPTS += \
>  	$(FFTW_COMMON_CONF_OPTS) \
>  	--disable-single \
>  	--disable-long-double \
> -	$(if $(BR2_PACKAGE_FFTW_PRECISION_QUAD),--enable,--disable)-quad-precision \
> +	--disable-quad-precision \
>  	CFLAGS="$(FFTW_COMMON_CFLAGS)"
>  
>  $(eval $(autotools-package))
> -- 
> 2.19.2
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 07/17] package/aubio: use the new fftw-double and fftw-single packages
  2019-01-21 13:51           ` [Buildroot] [PATCH v4 07/17] package/aubio: use the new fftw-double and fftw-single packages Gwenhael Goavec-Merou
  2019-01-21 13:51             ` [Buildroot] [PATCH v4 08/17] package/gnuradio: use the new fftw-single package Gwenhael Goavec-Merou
@ 2019-02-02 14:52             ` Yann E. MORIN
  1 sibling, 0 replies; 33+ messages in thread
From: Yann E. MORIN @ 2019-02-02 14:52 UTC (permalink / raw)
  To: buildroot

Gwenhael, All,

On 2019-01-21 14:51 +0100, Gwenhael Goavec-Merou spake thusly:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> 
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> [Thomas: drop the condition on BR2_PACKAGE_FFTW]
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> Changes v3 -> v4:
>  * allows to build samplerate without fft support and ensure samplerate and
>    double precision are not enabled in same time. (yann)
> ---
>  package/aubio/aubio.mk | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/package/aubio/aubio.mk b/package/aubio/aubio.mk
> index b0cc8b899e..ba182d9bd7 100644
> --- a/package/aubio/aubio.mk
> +++ b/package/aubio/aubio.mk
> @@ -27,7 +27,7 @@ AUBIO_CONF_OPTS += --disable-sndfile
>  endif
>  
>  # Could not compile aubio in double precision mode with libsamplerate
> -ifeq ($(BR2_PACKAGE_LIBSAMPLERATE)$(BR2_PACKAGE_FFTW_PRECISION_SINGLE),yy)
> +ifeq ($(BR2_PACKAGE_LIBSAMPLERATE):$(BR2_PACKAGE_FFTW_DOUBLE),y:)
>  AUBIO_DEPENDENCIES += libsamplerate
>  AUBIO_CONF_OPTS += --enable-samplerate
>  else
> @@ -41,15 +41,14 @@ else
>  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)
> +ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y)
>  AUBIO_CONF_OPTS += --enable-fftw3 --enable-double
> -else ifeq ($(BR2_PACKAGE_FFTW_PRECISION_SINGLE),y)
> +AUBIO_DEPENDENCIES += fftw-double
> +else ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y)
>  AUBIO_CONF_OPTS += --enable-fftw3f --disable-double
> -endif
> -else  # !BR2_PACKAGE_FFTW
> +AUBIO_DEPENDENCIES += fftw-single
> +else
>  AUBIO_CONF_OPTS += --disable-fftw3
>  endif

So, with this new code, it means that using fftw-double takes
precendence over libsamplerate, so we can get in a situation, when
fftw-single, fftw-double, and libsamplerate are all three enabled.

I wonder if, in that situation, we should not favour using libsamplerate and
fftw-single, rather than using just fftw-double?

Note that I am totally OK with the patch as is, and that someone can
come later to change the conditions, so:

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 08/17] package/gnuradio: use the new fftw-single package
  2019-01-21 13:51             ` [Buildroot] [PATCH v4 08/17] package/gnuradio: use the new fftw-single package Gwenhael Goavec-Merou
  2019-01-21 13:51               ` [Buildroot] [PATCH v4 09/17] package/gqrx: remove unneeded fftw dependency Gwenhael Goavec-Merou
@ 2019-02-02 16:34               ` Yann E. MORIN
  1 sibling, 0 replies; 33+ messages in thread
From: Yann E. MORIN @ 2019-02-02 16:34 UTC (permalink / raw)
  To: buildroot

Gwenhael, All,

On 2019-01-21 14:51 +0100, Gwenhael Goavec-Merou spake thusly:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> 
> Thanks to the new fftw package organization, we can use a "select"
> instead of "depends on".
> 
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

(I could turn my head I say so to you, but then it would be less fun!)

Regards,
Yann E. MORIN.

> ---
>  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..533a49c81e 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_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
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 09/17] package/gqrx: remove unneeded fftw dependency
  2019-01-21 13:51               ` [Buildroot] [PATCH v4 09/17] package/gqrx: remove unneeded fftw dependency Gwenhael Goavec-Merou
  2019-01-21 13:51                 ` [Buildroot] [PATCH v4 10/17] package/hackrf: use the new fftw-single package Gwenhael Goavec-Merou
@ 2019-02-02 16:40                 ` Yann E. MORIN
  1 sibling, 0 replies; 33+ messages in thread
From: Yann E. MORIN @ 2019-02-02 16:40 UTC (permalink / raw)
  To: buildroot

Gwenhael, All,

On 2019-01-21 14:51 +0100, Gwenhael Goavec-Merou spake thusly:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> 
> Thanks to the new fftw package organization, gnuradio already selects
> the appropriate fftw precision, and there is no need to propagate the
> "depends on BR2_PACKAGE_FFTW_PRECISION_SINGLE" that used to be present
> in the gnuradio package.
> 
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> Changes v3 -> v4:
>  * use select instead of depends on for GNURadio and propagates
>    dependencies.(yann)
[--SNIP--]
>  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_PACKAGE_PYTHON3
>  	depends on BR2_INSTALL_LIBSTDCPP # boost
> +	depends on !BR2_STATIC_LIBS # gnuradio
> +	depends on BR2_USE_MMU # gnuradio

We're now trying to list dependencies in a consistent order, with
architecture dependencies first, then toolchain depes, then package
deps. So, dependencies on MMU should go before first, then !static libs,
then libstdcpp, then packages:

    https://buildroot.org/downloads/manual/manual.html#_config_files

Otherwise:

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

>  	depends on BR2_TOOLCHAIN_HAS_THREADS # boost
>  	depends on BR2_USE_WCHAR # boost
>  	select BR2_PACKAGE_BOOST
>  	select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
>  	select BR2_PACKAGE_BOOST_SYSTEM
> +	select BR2_PACKAGE_GNURADIO
>  	select BR2_PACKAGE_GNURADIO_ANALOG
>  	select BR2_PACKAGE_GNURADIO_AUDIO
>  	select BR2_PACKAGE_GNURADIO_BLOCKS
> -- 
> 2.19.2
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 11/17] package/httping: use the new fftw-double package
  2019-01-21 13:51                   ` [Buildroot] [PATCH v4 11/17] package/httping: use the new fftw-double package Gwenhael Goavec-Merou
  2019-01-21 13:51                     ` [Buildroot] [PATCH v4 12/17] package/imagemagick: " Gwenhael Goavec-Merou
@ 2019-02-02 16:41                     ` Yann E. MORIN
  1 sibling, 0 replies; 33+ messages in thread
From: Yann E. MORIN @ 2019-02-02 16:41 UTC (permalink / raw)
  To: buildroot

Gwenhael, All,

On 2019-01-21 14:51 +0100, Gwenhael Goavec-Merou spake thusly:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> 
> This patch add an explicitly dependency to fftw-double (the only compatible
> fftw's flavor) instead of default behavior where the package do assumption
> about the compatible version.
> 
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
> Changes v3 -> v4:
>  * improve commit message about fftw version. (Yann)
> ---
>  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..b3a625a8e1 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_DOUBLE),fftw-double)
>  HTTPING_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) \
> -	FW=$(if $(BR2_PACKAGE_FFTW),yes,no) \
> +	FW=$(if $(BR2_PACKAGE_FFTW_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
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 12/17] package/imagemagick: use the new fftw-double package
  2019-01-21 13:51                     ` [Buildroot] [PATCH v4 12/17] package/imagemagick: " Gwenhael Goavec-Merou
  2019-01-21 13:51                       ` [Buildroot] [PATCH v4 13/17] package/libvips: " Gwenhael Goavec-Merou
@ 2019-02-02 16:42                       ` Yann E. MORIN
  1 sibling, 0 replies; 33+ messages in thread
From: Yann E. MORIN @ 2019-02-02 16:42 UTC (permalink / raw)
  To: buildroot

Gwenhael, All,

On 2019-01-21 14:51 +0100, Gwenhael Goavec-Merou spake thusly:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> 
> This patch add an explicitly dependency to fftw-double (the only compatible
> fftw's flavor) instead of default behavior where the package do assumption
> about the compatible version.
> 
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
> Changes v3 -> v4:
>  * improve commit message about fftw version. (Yann)
> ---
>  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..7678980582 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),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
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 13/17] package/libvips: use the new fftw-double package
  2019-01-21 13:51                       ` [Buildroot] [PATCH v4 13/17] package/libvips: " Gwenhael Goavec-Merou
  2019-01-21 13:51                         ` [Buildroot] [PATCH v4 14/17] package/pulseaudio: use the new fftw-single package Gwenhael Goavec-Merou
@ 2019-02-02 16:44                         ` Yann E. MORIN
  1 sibling, 0 replies; 33+ messages in thread
From: Yann E. MORIN @ 2019-02-02 16:44 UTC (permalink / raw)
  To: buildroot

Gwenhael, All,

On 2019-01-21 14:51 +0100, Gwenhael Goavec-Merou spake thusly:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> 
> This patch add an explicitly dependency to fftw-double (the only compatible
> fftw's flavor) instead of default behavior where the package do assumption
> about the compatible version.
> 
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
> Changes v3 -> v4:
>  * improve commit message about fftw version. (Yann)
> ---
>  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..7622f32fbc 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_DOUBLE),y)
>  LIBVIPS_CONF_OPTS += --with-fftw
> -LIBVIPS_DEPENDENCIES += fftw
> +LIBVIPS_DEPENDENCIES += fftw-double
>  else
>  LIBVIPS_CONF_OPTS += --without-fftw
>  endif
> -- 
> 2.19.2
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 14/17] package/pulseaudio: use the new fftw-single package
  2019-01-21 13:51                         ` [Buildroot] [PATCH v4 14/17] package/pulseaudio: use the new fftw-single package Gwenhael Goavec-Merou
  2019-01-21 13:51                           ` [Buildroot] [PATCH v4 15/17] package/liquid-dsp: use the new fftw-{single, double, long-double} packages Gwenhael Goavec-Merou
@ 2019-02-02 16:45                           ` Yann E. MORIN
  1 sibling, 0 replies; 33+ messages in thread
From: Yann E. MORIN @ 2019-02-02 16:45 UTC (permalink / raw)
  To: buildroot

Gwenhael, All,

On 2019-01-21 14:51 +0100, Gwenhael Goavec-Merou spake thusly:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> 
> This patch add an explicitly dependency to fftw-single (the only compatible
> fftw's flavor) instead of default behavior where the package do assumption
> about the compatible version.
> 
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
> Changes v3 -> v4:
>  * improve commit message about fftw version. (Yann)
> ---
>  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..c91af22935 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_SINGLE),fftw-single) \
>  	$(if $(BR2_PACKAGE_SYSTEMD),systemd)
>  
>  ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y)
> -- 
> 2.19.2
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 15/17] package/liquid-dsp: use the new fftw-{single, double, long-double} packages
  2019-01-21 13:51                           ` [Buildroot] [PATCH v4 15/17] package/liquid-dsp: use the new fftw-{single, double, long-double} packages Gwenhael Goavec-Merou
  2019-01-21 13:51                             ` [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package Gwenhael Goavec-Merou
@ 2019-02-02 16:54                             ` Yann E. MORIN
  1 sibling, 0 replies; 33+ messages in thread
From: Yann E. MORIN @ 2019-02-02 16:54 UTC (permalink / raw)
  To: buildroot

Gwenhael, All,

On 2019-01-21 14:51 +0100, Gwenhael Goavec-Merou spake thusly:
> From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> 
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

I still believe this change to be incorrect, since liquiddsp only really
supports fftw-single, as patch 17 states.

So, at the very least, I believe tpatch 17 should be squashed into this
one, and an even better solution would be to actually fix the package in
a previous patch, as I said in my previous review.

Regards,
Yann E. MORIN.

> ---
>  package/liquid-dsp/liquid-dsp.mk | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/package/liquid-dsp/liquid-dsp.mk b/package/liquid-dsp/liquid-dsp.mk
> index db67893844..6aa27a5248 100644
> --- a/package/liquid-dsp/liquid-dsp.mk
> +++ b/package/liquid-dsp/liquid-dsp.mk
> @@ -30,9 +30,9 @@ LIQUID_DSP_CFLAGS += -ffast-math
>  endif
>  
>  # use FFTW instead of built-in FFT
> -ifeq ($(BR2_PACKAGE_FFTW_PRECISION_SINGLE),y)
> +ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y)
>  LIQUID_DSP_LDFLAGS += -lfftw3f
> -LIQUID_DSP_DEPENDENCIES += fftw
> +LIQUID_DSP_DEPENDENCIES += fftw-single
>  endif
>  
>  # disable altivec, it has build issues
> @@ -40,14 +40,14 @@ ifeq ($(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),y)
>  LIQUID_DSP_CONF_OPTS += --enable-simdoverride
>  endif
>  
> -ifeq ($(BR2_PACKAGE_FFTW_PRECISION_DOUBLE),y)
> +ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y)
>  LIQUID_DSP_LDFLAGS += -lfftw3
> -LIQUID_DSP_DEPENDENCIES += fftw
> +LIQUID_DSP_DEPENDENCIES += fftw-double
>  endif
>  
> -ifeq ($(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),y)
> +ifeq ($(BR2_PACKAGE_FFTW_LONG_DOUBLE),y)
>  LIQUID_DSP_LDFLAGS += -lfftw3l
> -LIQUID_DSP_DEPENDENCIES += fftw
> +LIQUID_DSP_DEPENDENCIES += fftw-long-double
>  endif
>  
>  LIQUID_DSP_CONF_OPTS += \
> -- 
> 2.19.2
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package
  2019-01-21 13:51                             ` [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package Gwenhael Goavec-Merou
  2019-01-21 13:51                               ` [Buildroot] [PATCH v4 17/17] package/liquid-dsp: drop support for fftw-double and fftw-long-double Gwenhael Goavec-Merou
@ 2019-02-02 17:16                               ` Yann E. MORIN
  2019-02-06  9:23                                 ` Thomas Petazzoni
  2019-02-02 22:08                               ` Yann E. MORIN
  2 siblings, 1 reply; 33+ messages in thread
From: Yann E. MORIN @ 2019-02-02 17:16 UTC (permalink / raw)
  To: buildroot

Gwenhael, All,

On 2019-01-21 14:51 +0100, Gwenhael Goavec-Merou spake thusly:
> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> 
> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> 
> fftw is no longer a package: only fftw-single, fftw-double,
> fftw-long-double and fftw-quad are. fftw.mk only contains some common
> definitions that are used by the different fftw variants.
> 
> The old BR2_PACKAGE_FFTW_PRECISION_* options, which are no longer used
> anywhere, are moved to Config.in.legacy.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> ---
>  Changes v3 -> V4:
>  * when BR2_PACKAGE_FFTW is enabled without flavour, selects fftw-double
>    by default. (Yann)
>  * suppress suppress two consecutive empty lines. (Yann)

:-)

[--SNIP--]
> diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk
> index 862ad5edc0..bcfdb9c96a 100644
> --- a/package/fftw/fftw.mk
> +++ b/package/fftw/fftw.mk
> @@ -10,22 +10,6 @@ FFTW_INSTALL_STAGING = YES
>  FFTW_LICENSE = GPL-2.0+
>  FFTW_LICENSE_FILES = COPYING
>  
> -ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y)
> -FFTW_DEPENDENCIES += fftw-double
> -endif
> -
> -ifeq ($(BR2_PACKAGE_FFTW_LONG_DOUBLE),y)
> -FFTW_DEPENDENCIES += fftw-long-double
> -endif
> -
> -ifeq ($(BR2_PACKAGE_FFTW_QUAD),y)
> -FFTW_DEPENDENCIES += fftw-quad
> -endif
> -
> -ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y)
> -FFTW_DEPENDENCIES += fftw-single
> -endif

Actually, I think these dependencies should stay. This would allow a
package that needs any fftw variant to just select BR2_PACKAGE_FFTW
and add FOO_DEPENDENCIES = fftw.

Regards,
Yann E. MORIN.

>  # fortran support only enables generation and installation of fortran sources
>  ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y)
>  FFTW_COMMON_CONF_OPTS += --enable-fortran
> @@ -49,6 +33,4 @@ FFTW_COMMON_CONF_OPTS += --disable-threads
>  endif
>  FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp
>  
> -$(eval $(generic-package))
> -
>  include $(sort $(wildcard package/fftw/*/*.mk))
> -- 
> 2.19.2
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package
  2019-01-21 13:51                             ` [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package Gwenhael Goavec-Merou
  2019-01-21 13:51                               ` [Buildroot] [PATCH v4 17/17] package/liquid-dsp: drop support for fftw-double and fftw-long-double Gwenhael Goavec-Merou
  2019-02-02 17:16                               ` [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package Yann E. MORIN
@ 2019-02-02 22:08                               ` Yann E. MORIN
  2 siblings, 0 replies; 33+ messages in thread
From: Yann E. MORIN @ 2019-02-02 22:08 UTC (permalink / raw)
  To: buildroot

Gwenhael, All

On 2019-01-21 14:51 +0100, Gwenhael Goavec-Merou spake thusly:
> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> 
> fftw is no longer a package: only fftw-single, fftw-double,
> fftw-long-double and fftw-quad are. fftw.mk only contains some common
> definitions that are used by the different fftw variants.
> 
> The old BR2_PACKAGE_FFTW_PRECISION_* options, which are no longer used
> anywhere, are moved to Config.in.legacy.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
[--SNIP--]
> diff --git a/package/fftw/Config.in b/package/fftw/Config.in
> index ed87de1a70..89d99c5f9d 100644
> --- a/package/fftw/Config.in
> +++ b/package/fftw/Config.in
> @@ -1,5 +1,8 @@
>  config BR2_PACKAGE_FFTW
>  	bool "fftw"
> +	select BR2_PACKAGE_FFTW_DOUBLE if !BR2_PACKAGE_FFTW_SINGLE \
> +		&& !BR2_PACKAGE_FFTW_LONG_DOUBLE && !BR2_PACKAGE_FFTW_QUAD
> +

Spurious empty line here.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 17/17] package/liquid-dsp: drop support for fftw-double and fftw-long-double
  2019-01-21 13:51                               ` [Buildroot] [PATCH v4 17/17] package/liquid-dsp: drop support for fftw-double and fftw-long-double Gwenhael Goavec-Merou
@ 2019-02-05 21:09                                 ` Thomas Petazzoni
  2019-02-06  5:40                                   ` Baruch Siach
  0 siblings, 1 reply; 33+ messages in thread
From: Thomas Petazzoni @ 2019-02-05 21:09 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 21 Jan 2019 14:51:11 +0100
Gwenhael Goavec-Merou <gwenj@trabucayre.com> wrote:

> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> 
> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> 
> liquid-dsp has the following code:
> #if HAVE_FFTW3_H && !defined LIQUID_FFTOVERRIDE
> #   include <fftw3.h>
> #   define FFT_PLAN             fftwf_plan
> #   define FFT_CREATE_PLAN      fftwf_plan_dft_1d
> #   define FFT_DESTROY_PLAN     fftwf_destroy_plan
> #   define FFT_EXECUTE          fftwf_execute
> #   define FFT_DIR_FORWARD      FFTW_FORWARD
> #   define FFT_DIR_BACKWARD     FFTW_BACKWARD
> #   define FFT_METHOD           FFTW_ESTIMATE
> #else
> #   define FFT_PLAN             fftplan
> #   define FFT_CREATE_PLAN      fft_create_plan
> #   define FFT_DESTROY_PLAN     fft_destroy_plan
> #   define FFT_EXECUTE          fft_execute
> #   define FFT_DIR_FORWARD      LIQUID_FFT_FORWARD
> #   define FFT_DIR_BACKWARD     LIQUID_FFT_BACKWARD
> #   define FFT_METHOD           0
> #endif
> 
> So, if it uses the external fftw library, it can only use the fftwf
> variant, i.e the fftw-single variant. Otherwise, it uses its internal
> FFT library.
> 
> There is no way for liquid-dsp to use fftw-double or fftw-long-double.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> ---
>  package/liquid-dsp/liquid-dsp.mk | 10 ----------
>  1 file changed, 10 deletions(-)

Applied to master, thanks. I have applied *before* all other patches,
because it's really a preparation fix that is useful independently from
the rest of the FFTW rework.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 17/17] package/liquid-dsp: drop support for fftw-double and fftw-long-double
  2019-02-05 21:09                                 ` Thomas Petazzoni
@ 2019-02-06  5:40                                   ` Baruch Siach
  2019-02-06  8:36                                     ` Thomas Petazzoni
  0 siblings, 1 reply; 33+ messages in thread
From: Baruch Siach @ 2019-02-06  5:40 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Tue, Feb 05, 2019 at 10:09:40PM +0100, Thomas Petazzoni wrote:
> On Mon, 21 Jan 2019 14:51:11 +0100
> Gwenhael Goavec-Merou <gwenj@trabucayre.com> wrote:
> 
> > From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > 
> > From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > 
> > liquid-dsp has the following code:
> > #if HAVE_FFTW3_H && !defined LIQUID_FFTOVERRIDE
> > #   include <fftw3.h>
> > #   define FFT_PLAN             fftwf_plan
> > #   define FFT_CREATE_PLAN      fftwf_plan_dft_1d
> > #   define FFT_DESTROY_PLAN     fftwf_destroy_plan
> > #   define FFT_EXECUTE          fftwf_execute
> > #   define FFT_DIR_FORWARD      FFTW_FORWARD
> > #   define FFT_DIR_BACKWARD     FFTW_BACKWARD
> > #   define FFT_METHOD           FFTW_ESTIMATE
> > #else
> > #   define FFT_PLAN             fftplan
> > #   define FFT_CREATE_PLAN      fft_create_plan
> > #   define FFT_DESTROY_PLAN     fft_destroy_plan
> > #   define FFT_EXECUTE          fft_execute
> > #   define FFT_DIR_FORWARD      LIQUID_FFT_FORWARD
> > #   define FFT_DIR_BACKWARD     LIQUID_FFT_BACKWARD
> > #   define FFT_METHOD           0
> > #endif
> > 
> > So, if it uses the external fftw library, it can only use the fftwf
> > variant, i.e the fftw-single variant. Otherwise, it uses its internal
> > FFT library.
> > 
> > There is no way for liquid-dsp to use fftw-double or fftw-long-double.
> > 
> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> > ---
> >  package/liquid-dsp/liquid-dsp.mk | 10 ----------
> >  1 file changed, 10 deletions(-)
> 
> Applied to master, thanks. I have applied *before* all other patches,
> because it's really a preparation fix that is useful independently from
> the rest of the FFTW rework.

Unfortunately the '#' prefixed lines in the commit log were dropped again.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 17/17] package/liquid-dsp: drop support for fftw-double and fftw-long-double
  2019-02-06  5:40                                   ` Baruch Siach
@ 2019-02-06  8:36                                     ` Thomas Petazzoni
  0 siblings, 0 replies; 33+ messages in thread
From: Thomas Petazzoni @ 2019-02-06  8:36 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 6 Feb 2019 07:40:24 +0200
Baruch Siach <baruch@tkos.co.il> wrote:

> > Applied to master, thanks. I have applied *before* all other patches,
> > because it's really a preparation fix that is useful independently from
> > the rest of the FFTW rework.  
> 
> Unfortunately the '#' prefixed lines in the commit log were dropped again.

Yeah, Yann pointed this to me as well. Sadly now it's committed and
pushed, so it's too late. Oh well.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 01/17] package/fftw: prepare for splitting into multiple packages
  2019-01-21 13:50 [Buildroot] [PATCH v4 01/17] package/fftw: prepare for splitting into multiple packages Gwenhael Goavec-Merou
  2019-01-21 13:50 ` [Buildroot] [PATCH v4 02/17] package/fftw: break fftw-single into a dedicated package Gwenhael Goavec-Merou
@ 2019-02-06  9:16 ` Thomas Petazzoni
  1 sibling, 0 replies; 33+ messages in thread
From: Thomas Petazzoni @ 2019-02-06  9:16 UTC (permalink / raw)
  To: buildroot

On Mon, 21 Jan 2019 14:50:55 +0100
Gwenhael Goavec-Merou <gwenj@trabucayre.com> wrote:

> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> 
> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> 
> In preparation for splitting into multiple packages, this commit
> changes the fftw.mk package to use FFTW_COMMON_CONF_OPTS,
> FFTW_COMMON_CONF_ENV and FFTW_COMMON_CFLAGS, which will be re-used by
> the soon-to-be-introduced per-precision packages.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/fftw/fftw.mk | 40 +++++++++++++++++++++-------------------
>  1 file changed, 21 insertions(+), 19 deletions(-)

Entire series applied. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package
  2019-02-02 17:16                               ` [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package Yann E. MORIN
@ 2019-02-06  9:23                                 ` Thomas Petazzoni
  0 siblings, 0 replies; 33+ messages in thread
From: Thomas Petazzoni @ 2019-02-06  9:23 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 2 Feb 2019 18:16:41 +0100
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> > -ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y)
> > -FFTW_DEPENDENCIES += fftw-double
> > -endif
> > -
> > -ifeq ($(BR2_PACKAGE_FFTW_LONG_DOUBLE),y)
> > -FFTW_DEPENDENCIES += fftw-long-double
> > -endif
> > -
> > -ifeq ($(BR2_PACKAGE_FFTW_QUAD),y)
> > -FFTW_DEPENDENCIES += fftw-quad
> > -endif
> > -
> > -ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y)
> > -FFTW_DEPENDENCIES += fftw-single
> > -endif  
> 
> Actually, I think these dependencies should stay. This would allow a
> package that needs any fftw variant to just select BR2_PACKAGE_FFTW
> and add FOO_DEPENDENCIES = fftw.

As far as I know, we don't have any such package in the tree today, so
that would be a bit of dead code.

In addition, I believe such a situation is pretty unlikely to happen.
Those 4 variants are separate libraries with different filenames, and
the functions provided by those libraries are different. So it's pretty
unlikely that a package will be able to use "any fftw variant". Should
that happen one day, it will always be time to revisit this.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2019-02-06  9:23 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-21 13:50 [Buildroot] [PATCH v4 01/17] package/fftw: prepare for splitting into multiple packages Gwenhael Goavec-Merou
2019-01-21 13:50 ` [Buildroot] [PATCH v4 02/17] package/fftw: break fftw-single into a dedicated package Gwenhael Goavec-Merou
2019-01-21 13:50   ` [Buildroot] [PATCH v4 03/17] package/fftw: break fftw-long-double " Gwenhael Goavec-Merou
2019-01-21 13:50     ` [Buildroot] [PATCH v4 04/17] package/fftw: break fftw-quad " Gwenhael Goavec-Merou
2019-01-21 13:50       ` [Buildroot] [PATCH v4 05/17] package/fftw: break fftw-double " Gwenhael Goavec-Merou
2019-01-21 13:51         ` [Buildroot] [PATCH v4 06/17] package/alsa-utils: use the new fftw-single package Gwenhael Goavec-Merou
2019-01-21 13:51           ` [Buildroot] [PATCH v4 07/17] package/aubio: use the new fftw-double and fftw-single packages Gwenhael Goavec-Merou
2019-01-21 13:51             ` [Buildroot] [PATCH v4 08/17] package/gnuradio: use the new fftw-single package Gwenhael Goavec-Merou
2019-01-21 13:51               ` [Buildroot] [PATCH v4 09/17] package/gqrx: remove unneeded fftw dependency Gwenhael Goavec-Merou
2019-01-21 13:51                 ` [Buildroot] [PATCH v4 10/17] package/hackrf: use the new fftw-single package Gwenhael Goavec-Merou
2019-01-21 13:51                   ` [Buildroot] [PATCH v4 11/17] package/httping: use the new fftw-double package Gwenhael Goavec-Merou
2019-01-21 13:51                     ` [Buildroot] [PATCH v4 12/17] package/imagemagick: " Gwenhael Goavec-Merou
2019-01-21 13:51                       ` [Buildroot] [PATCH v4 13/17] package/libvips: " Gwenhael Goavec-Merou
2019-01-21 13:51                         ` [Buildroot] [PATCH v4 14/17] package/pulseaudio: use the new fftw-single package Gwenhael Goavec-Merou
2019-01-21 13:51                           ` [Buildroot] [PATCH v4 15/17] package/liquid-dsp: use the new fftw-{single, double, long-double} packages Gwenhael Goavec-Merou
2019-01-21 13:51                             ` [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package Gwenhael Goavec-Merou
2019-01-21 13:51                               ` [Buildroot] [PATCH v4 17/17] package/liquid-dsp: drop support for fftw-double and fftw-long-double Gwenhael Goavec-Merou
2019-02-05 21:09                                 ` Thomas Petazzoni
2019-02-06  5:40                                   ` Baruch Siach
2019-02-06  8:36                                     ` Thomas Petazzoni
2019-02-02 17:16                               ` [Buildroot] [PATCH v4 16/17] package/fftw: remove as regular package Yann E. MORIN
2019-02-06  9:23                                 ` Thomas Petazzoni
2019-02-02 22:08                               ` Yann E. MORIN
2019-02-02 16:54                             ` [Buildroot] [PATCH v4 15/17] package/liquid-dsp: use the new fftw-{single, double, long-double} packages Yann E. MORIN
2019-02-02 16:45                           ` [Buildroot] [PATCH v4 14/17] package/pulseaudio: use the new fftw-single package Yann E. MORIN
2019-02-02 16:44                         ` [Buildroot] [PATCH v4 13/17] package/libvips: use the new fftw-double package Yann E. MORIN
2019-02-02 16:42                       ` [Buildroot] [PATCH v4 12/17] package/imagemagick: " Yann E. MORIN
2019-02-02 16:41                     ` [Buildroot] [PATCH v4 11/17] package/httping: " Yann E. MORIN
2019-02-02 16:40                 ` [Buildroot] [PATCH v4 09/17] package/gqrx: remove unneeded fftw dependency Yann E. MORIN
2019-02-02 16:34               ` [Buildroot] [PATCH v4 08/17] package/gnuradio: use the new fftw-single package Yann E. MORIN
2019-02-02 14:52             ` [Buildroot] [PATCH v4 07/17] package/aubio: use the new fftw-double and fftw-single packages Yann E. MORIN
2019-02-02 14:38       ` [Buildroot] [PATCH v4 04/17] package/fftw: break fftw-quad into a dedicated package Yann E. MORIN
2019-02-06  9:16 ` [Buildroot] [PATCH v4 01/17] package/fftw: prepare for splitting into multiple packages Thomas Petazzoni

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.