Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time.
Date: Mon, 3 Dec 2018 19:31:45 +0100	[thread overview]
Message-ID: <20181203183145.GC2548@scaer> (raw)
In-Reply-To: <08ec2154-5bfb-e77d-7611-1d7662cc6070@mind.be>

Gwenhael, Arnout, All,

On 2018-12-03 17:32 +0100, Arnout Vandecappelle spake thusly:
> On 28/11/2018 17:12, Gwenhael Goavec-Merou wrote:
> > From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
> > 
> > fftw's library name depends on the precision option. Consequently,
> > it's possible to install multiple flavor on the same target.
> > 
> > This patch split current fftw in 5 part:
> > - 1 to provide common variables
> > - 4 to provide specificities for each precision.
> 
>  This is a huge change, and IIUC all patches should in fact be squashed since
> this change breaks all packages depending on fftw...
> 
>  Maybe a more gradual approach would be to break out the individual packages one
> by one. E.g. start with adding the fftw-single package independently of the
> rest, then convert other packages to depend on fftw-single instead of fftw, then
> remove BR2_PACKAGE_FFTW_PRECISION_SINGLE.
> 
>  Finally, you forgot legacy handling. When you remove
> BR2_PACKAGE_FFTW_PRECISION_SINGLE, there should be an entry added to
> Config.in.legacy that select BR2_PACKAGE_FFTW_SINGLE. Or you have to call the
> package fftw-precision-single, of course.

What about another approach:

  - add a new packages for each of fftw-{single,double,long-double,quad},
  - make fftw depends on all of those that are actually enabled, but
    fftw by itself does nothing,
  - if fftw is enabled, ensure that at least one variant is enabled.

Thus, packages that need any flavour of fftw can just select/depend on
fftw, while those that require specific variant would select/depend what
they need.

Regards,
Yann E. MORIN.

> [snip]
> > +++ b/package/fftw/fftw-double/fftw-double.mk
> > @@ -0,0 +1,23 @@
> > +################################################################################
> > +#
> > +# fft-double
> 
>  fftw-double
> 
>  Don't forget to run check-package!
> 
> > +#
> > +################################################################################
> > +
> > +FFTW_PRECISION_DOUBLE_VERSION = $(FFTW_VERSION)
> > +FFTW_PRECISION_DOUBLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz
> > +FFTW_PRECISION_DOUBLE_SITE = $(FFTW_SITE)
> > +FFTW_PRECISION_DOUBLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING)
> > +FFTW_PRECISION_DOUBLE_LICENSE = $(FFTW_LICENSE)
> > +FFTW_PRECISION_DOUBLE_LICENSE_FILES = $(FFTW_LICENSE_FILES)
> > +
> > +FFTW_PRECISION_DOUBLE_CONF_ENV = $(FFTW_CONF_ENV)
> > +
> > +FFTW_PRECISION_DOUBLE_CONF_OPTS= $(FFTW_CONF_OPTS)
> > +
> > +FFTW_PRECISION_DOUBLE_CFLAGS = $(FFTW_CFLAGS)
> > +
> > +# x86 optimisations
> > +FFTW_PRECISION_DOUBLE_CONF_OPTS += $(if $(BR2_X86_CPU_HAS_SSE2),--enable,--disable)-sse2
> > +
> > +$(eval $(autotools-package))
> 
>  This doesn't work: the package is actually called 'fftw-double', so it will use
> variables FFTW_DOUBLE_VERSION etc., not FFTW_PRECISION_DOUBLE_VERSION. I don't
> know how you tested this, but it can't possibly work...
> 
> [snip]
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

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

      reply	other threads:[~2018-12-03 18:31 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-28 16:12 [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time Gwenhael Goavec-Merou
2018-11-28 16:12 ` [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in Gwenhael Goavec-Merou
2018-11-28 16:12   ` [Buildroot] [PATCH 03/11] aubio: update DEPENDENCIES to fft-single or fft-double depending on enabled option Gwenhael Goavec-Merou
2018-11-28 16:12     ` [Buildroot] [PATCH 04/11] gnuradio: change depend to select for ffw and use fft-single in DEPENDENCIES Gwenhael Goavec-Merou
2018-11-28 16:12       ` [Buildroot] [PATCH 05/11] gqrx: suppress fft depend since fft's precision is selected by gnuradio Gwenhael Goavec-Merou
2018-11-28 16:12         ` [Buildroot] [PATCH 06/11] gqrx: use select instead of depend for fftw package and fix DEPENDENCIES Gwenhael Goavec-Merou
2018-11-28 16:12           ` [Buildroot] [PATCH 07/11] httping: update package to use new fftw structure Gwenhael Goavec-Merou
2018-11-28 16:12             ` [Buildroot] [PATCH 08/11] imagemagick: reference explicitly fftw double Gwenhael Goavec-Merou
2018-11-28 16:12               ` [Buildroot] [PATCH 09/11] libvips: " Gwenhael Goavec-Merou
2018-11-28 16:12                 ` [Buildroot] [PATCH 10/11] pulseaudio: update dependency to fftw-single Gwenhael Goavec-Merou
2018-11-28 16:12                   ` [Buildroot] [PATCH 11/11] liquid-dsp: update package to use new fftw structure Gwenhael Goavec-Merou
2018-11-29  4:24   ` [Buildroot] [PATCH 02/11] alsa-utils: update DEPENDENCIES to fft-single and add select in Config.in Baruch Siach
2018-11-29  5:38     ` Gwenhael Goavec-Merou
2018-11-29  5:56       ` Baruch Siach
2018-11-29  6:27         ` Gwenhael Goavec-Merou
2018-12-03 16:32 ` [Buildroot] [PATCH 01/11] package/fftw : Allow all precisions to be installed at the same time Arnout Vandecappelle
2018-12-03 18:31   ` Yann E. MORIN [this message]

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=20181203183145.GC2548@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox