[Buildroot] [PATCH 2/2] package/fftw: Enable multiple precision installation
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Sat Aug 20 14:18:13 UTC 2016
Hello,
On Sat, 20 Aug 2016 13:36:41 +1000, Matt Flax wrote:
> > I don't see where you are passing this option, so from the look of it,
> > your four packages would install over each other. Or is
> > --enable-type-prefix the default ?
> There are now 4 mk files. Each builds in a separate directory (fftw,
> fftwf, fftwl, fftwq) and installs as per the recommendations from fftw.
> All fftw packages inherit the version, source, site, license, env,
> conf_opts, cflags from fftw.mk. By inheriting from one single set of
> macros, we can bump versions very easily.
> The different precisions are added like so :
> fftwf.mk : FFTWF_CONF_OPTS += --enable-single
> fftwl.mk : FFTL_CONF_OPTS += --enable-long-double
> fftwq.mk : FFTQ_CONF_OPTS += --enable-quad-precision
I'm not talking about the Buildroot code, but what each fftw package
will be installing. My understanding is that if you don't pass
--enable-type-prefix, each fftw package will install exactly the same
files, overwriting the ones written by the other fftw packages, making
the all adventure useless.
> Regarding dev files, the header files are all the same - in fact from
> the fftw site, http://www.fftw.org/fftw2_doc/fftw_6.html#SEC69 it is
> recommended that they all install ontop of each other :
> ./configure; make; make install; make clean
> ./configure --ebale-single; make; make install; make clean
> and so on ...
Read again this very same section, they tell you to do:
./configure --enable-type-prefix [ other options ]
make
make install
make clean
./configure --enable-float --enable-type-prefix [ other options ]
make
make install
See that they are using the --enable-type-prefix option I'm referring
to?
> > Another concern is that one --enable-type-prefix is used, then all
> > packages that use fftw will have to use the right library name and
> > header name depending on the precision they want to use. Are they all
> > ready for that?
> >
> > Could you check the different Buildroot packages in the tree that use
> > FFTW, and see how they behave, and whether they need to be changed to
> > accommodate your patch?
> >
> > There's at least alsa-lib, gnuradio, httping, imagemagick, libvips,
> > liquid-dsp and pulseaudio to look at.
>
> Actually "type-prefixes" aren't used and no changes are made to the
> names. Double precision remains libfftw3.so.3, single precision remains
> libfftw3f.so.3 .... and so on. There is one header file used by all and
> it is constant.
See above.
> Literally, this patch simply allows side by side installation, as it is
> intended to be.
I don't see how side by side installation is possible if all four
variants of the library install to the same libfftw3.so.3 file. Could
you expand a bit on this?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the buildroot
mailing list