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