diff options
author | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2010-06-24 16:43:42 +0000 |
---|---|---|
committer | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2010-06-24 16:43:42 +0000 |
commit | b9e7a56c77a331898a603f69f15175c75df31ded (patch) | |
tree | b3656de801b4295c1f156656e8d9f858a689107b /pkgs/development/libraries/fftw | |
parent | ba1f6982fdce82ae71cec5cea10bbf01b54030c5 (diff) |
Adding some features in fftw, that I think they should work fine in linux at least.
(higher speed, multithread). I also fixed the namings about single/double floats. svn path=/nixpkgs/trunk/; revision=22402
Diffstat (limited to 'pkgs/development/libraries/fftw')
-rw-r--r-- | pkgs/development/libraries/fftw/default.nix | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix index 9e362076d2645..845ec77201068 100644 --- a/pkgs/development/libraries/fftw/default.nix +++ b/pkgs/development/libraries/fftw/default.nix @@ -1,23 +1,31 @@ -args : with args; - let localDefs = builderDefs.passthru.function { - src = - fetchurl { - url = ftp://ftp.fftw.org/pub/fftw/fftw-3.2.1.tar.gz; - sha256 = "1x8jww3vflrgzjrpnnsk0020bkd9aqmfga8y31v10cqd02l46sh7"; - }; - buildInputs = []; - configureFlags = ["--enable-shared"] - ++ (if args.singlePrecision then [ /*"--enable-single" */] else ["--enable-float"]); - # some distros seem to be shipping both versions within the same package? - # why does --enable-single still result in ..3f.so instead of ..3.so? - }; - in with localDefs; +{fetchurl, stdenv, builderDefs, stringsWithDeps, singlePrecision ? false}: +let localDefs = builderDefs.passthru.function { + src = + fetchurl { + url = ftp://ftp.fftw.org/pub/fftw/fftw-3.2.2.tar.gz; + sha256 = "13vnglardq413q2518zi4a8pam3znydrz28m9w09kss9xrjsx9va"; + }; + buildInputs = []; + configureFlags = ["--enable-shared" "--enable-openmp"] + # some distros seem to be shipping both versions within the same package? + # why does --enable-float still result in ..3f.so instead of ..3.so? + ++ (if singlePrecision then [ "--enable-single" ] else [ ]) + # I think all i686 has sse + ++ (if (stdenv.isi686 || stdenv.isx86_64) && singlePrecision then [ "--enable-sse" ] else [ ]) + # I think all x86_64 has sse2 + ++ (if stdenv.isx86_64 && ! singlePrecision then [ "--enable-sse2" ] else [ ]); + + }; +in with localDefs; stdenv.mkDerivation { - name = "fftw-3.2.1" + ( if args.singlePrecision then "-single" else "-float" ); - builder = writeScript "fftw-3.2.1-builder" - (textClosure localDefs [doConfigure doMakeInstall doForceShare]); - meta = { - description = "Fastest Fourier Transform in the West library"; - inherit src; - }; + name = "fftw-3.2.2" + ( if singlePrecision then "-single" else "-double" ); + builder = writeScript "fftw-3.2.1-builder" + (textClosure localDefs [doConfigure doMakeInstall doForceShare]); + meta = { + description = "Fastest Fourier Transform in the West library"; + }; + passthru = { + # Allow instantiating "-A fftw.src" + inherit src; + }; } |