This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: fftw3 and octave
- From: Charles Wilson <cygwin at cwilson dot fastmail dot fm>
- To: Mailing List: CygWin-Apps <cygwin-apps at cygwin dot com>
- Date: Tue, 01 Apr 2008 00:02:17 -0500
- Subject: Re: fftw3 and octave
- References: <7zwsnj2pw0.fsf@vzell-de.de.oracle.com> <256584.66010.qm@web25002.mail.ukl.yahoo.com>
Marco Atzeri wrote:
the DLL are almost all the size of fftw3
so I can repakage as suggested, but it is
probably not worth.
Not exactly. The import libraries are almost half the size of the DLLs;
that's not insignificant. Here's what Volker is suggesting, I think
(with perhaps a few things moved around). I've put the "basic"
documentation in libfftw3-devel, and the "fancy, extra" documentation in
fftw3-doc). You'll notice that with this division, the size is
distributed across the packages -- if not evenly, then at least
'fairly'. Also, in this scheme, the 'main' package (fftw3, the one
whose name matches the -src) contains only /usr/share README-style
stuff. That's a fairly common occurance for DLL utilitity libraries.
libfftw3_3:
520704 /usr/bin/cygfftw3-3.dll
70656 /usr/bin/cygfftw3_threads-3.dll
------------
591360 TOTAL
libfftw3-devel:
2202 /usr/bin/fftw-wisdom-to-conf
34816 /usr/bin/fftw-wisdom.exe
327332 /usr/lib/libfftw3.dll.a
762 /usr/lib/libfftw3.la
54536 /usr/lib/libfftw3_threads.dll.a
815 /usr/lib/libfftw3_threads.la*
209 /usr/lib/pkgconfig/fftw3.pc
2143 /usr/include/fftw3.f
10021 /usr/include/fftw3.h
51019 /usr/share/info/fftw3.info-1
51018 /usr/share/info/fftw3.info-2
44463 /usr/share/info/fftw3.info-3
43162 /usr/share/info/fftw3.info-4
11149 /usr/share/info/fftw3.info-5
1821 /usr/share/info/fftw3.info.gz
1743 /usr/share/man/man1/fftw-wisdom-to-conf.1.gz
2975 /usr/share/man/man1/fftw-wisdom.1.gz
------------
640186 TOTAL
fftw3-doc:
498555 /usr/share/doc/fftw3-3.0.1/fftw3.pdf
30406 /usr/share/doc/fftw3-3.0.1/fftw-faq.ascii
/usr/share/doc/fftw3-3.0.1/html/*
------------
919597 TOTAL
fftw3:
2121 /usr/share/doc/Cygwin/fftw3-3.0.1.README
173 /usr/share/doc/fftw3-3.0.1/AUTHORS
196103 /usr/share/doc/fftw3-3.0.1/ChangeLog
17992 /usr/share/doc/fftw3-3.0.1/COPYING
821 /usr/share/doc/fftw3-3.0.1/COPYRIGHT
9498 /usr/share/doc/fftw3-3.0.1/INSTALL
5346 /usr/share/doc/fftw3-3.0.1/NEWS
1253 /usr/share/doc/fftw3-3.0.1/README
1615 /usr/share/doc/fftw3-3.0.1/TODO
------------
234922 TOTAL
However, putting the DLLs in a separate, standalone package is not just
about download size. It also helps with package and dependency
management, if the API of the library changes in a
backwards-incompatible manner.
Are these static libraries ? Otherwise your build
would depend on them
and you should package them for the distro.
Of course static.
The only dependency needed was fftw3
so I adopted it.
Not to look a gift horse in the mouth, but cygwin binary software is
under the GPL (or compatible open source license), because it is linked
against the cygwin1.dll.
This means that, for ALL software linked into the binaries included in
the cygwin distribution, we MUST also distribute the source.
Including static libraries.
The most convenient way to ensure this is for all dependent libraries to
ALSO be members of the cygwin distribution.
So, we usually don't allow software in the distro that links against
libaries that AREN'T part of the distro -- unless you take special care
to distribute also those EXACT sources as part of your fftw3-src package.
I'll leave this to Corinna and cgf to decide, but it seems to me that
either:
(1) you must rebuild your official package without reliance on Qhull,
Hdf5, and qlpk/SuiteSparse, or
(2) include the EXACT Qhull/Hdf5/qlpk/SuiteSparse source code tarballs
within the fftw3-src tarball
(3) you [or someone else] must ITP these packages
or else we must continue to go without an octave maintainer. However,
that's just MHO, and I'm not in charge.
--
Chuck