All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v4 04/17] package/fftw: break fftw-quad into a dedicated package
Date: Sat, 2 Feb 2019 15:38:55 +0100	[thread overview]
Message-ID: <20190202143855.GA3761@scaer> (raw)
In-Reply-To: <1548078671-63318-4-git-send-email-gwenj@trabucayre.com>

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.  |
'------------------------------^-------^------------------^--------------------'

  parent reply	other threads:[~2019-02-02 14:38 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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       ` Yann E. MORIN [this message]
2019-02-06  9:16 ` [Buildroot] [PATCH v4 01/17] package/fftw: prepare for splitting into multiple packages Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190202143855.GA3761@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.