fftw-3-single

Ryan Schmidt ryandesign at macports.org
Sat Mar 24 17:50:24 PDT 2007


On Mar 24, 2007, at 19:19, Takeshi Enomoto wrote:

>> What is the difference between fftw-3 and fftw-3-single?
>
> I am not the original author.
> Fink has only one package for fftw3.
>
> I will try to merge the two.
> We could name the merge package fftw3 and
> deprecate fftw-3 and fftw-3-single while keep them for a while.

The difference between fftw and fftw-single may be revealing:


$ diff -u math/{fftw,fftw-single}/Portfile
--- math/fftw/Portfile  2006-11-04 03:41:31.000000000 -0600
+++ math/fftw-single/Portfile   2007-03-02 18:12:40.000000000 -0600
@@ -1,12 +1,12 @@
-# $Id: Portfile 20399 2006-11-03 02:12:19Z jberry at macports.org $
+# $Id: Portfile 22478 2007-03-02 05:16:40Z pipping at macports.org $
-PortSystem 1.0
-name           fftw
+PortSystem     1.0
+name           fftw-single
version                2.1.5
-revision       2
+revision       1
categories     math devel
maintainers    nomaintainer at macports.org
-description    Fast C routines to compute the Discrete Fourier  
Transform
+description    Single precision version of fftw
long_description \
         FFTW is a C subroutine library for computing the Discrete  
Fourier \
         Transform (DFT) in one or more dimensions, of both real and  
complex \
@@ -20,14 +20,21 @@
platforms      darwin
+distname       fftw-${version}
homepage       http://www.fftw.org/
master_sites   ${homepage} \
                 ftp://ftp.fftw.org/pub/fftw/ \
                 ftp://ftp.kusastro.kyoto-u.ac.jp/pub/src/GNU/fftw/
checksums      md5 8d16a84f3ca02a785ef9eb36249ba433
-configure.args --enable-type-prefix --enable-threads \
-               --disable-fortran --infodir=${prefix}/share/info
+
+depends_run    port:fftw
+
+configure.args --enable-type-prefix    \
+               --enable-threads        \
+               --enable-float          \
+               --disable-fortran       \
+               --infodir=${prefix}/share/info
variant fortran {
         depends_lib-append      port:gcc34
@@ -38,3 +45,9 @@
         }
}
+# Documentation conflicts with the double precision version,
+# so delete it. The documentation is installed by the dependency
+# port:fftw, above.
+
+post-destroot  { file delete -force ${destroot}${prefix}/share }
+


It seems that the difference is that the -single version uses -- 
enable-float. Perhaps when using --enable-float, fftw installs itself  
under a different name? And the comment before the post-destroot  
phase explains why things are being deleted -- because both versions  
install the same documentation, which would cause a conflict  
otherwise. Maybe that's why fftw-single depends on fftw -- so that  
fftw-single will still include the documentation.

Apparently there must be some reason why one would want fftw and fftw- 
single to be able to be installed simultaneously.


If you want to try to combine these into a single port, you may want  
to model your new port after the recently-updated zlib port, which  
does in fact configure, make and install itself twice as well, with  
different configure arguments:

http://trac.macosforge.org/projects/macports/browser/trunk/dports/ 
archivers/zlib/Portfile


Whatever you do should probably be the same for the fftw / fftw- 
single and fftw-3 / fftw-3-single ports.





More information about the macports-dev mailing list