diff options
author | Niklas Hambüchen <mail@nh2.me> | 2020-02-11 11:53:54 +0100 |
---|---|---|
committer | Niklas Hambüchen <mail@nh2.me> | 2020-02-11 13:37:39 +0100 |
commit | a72367ae315765a89c9667948b6961e0d80dfd31 (patch) | |
tree | 7f9506eff514a1f244b5dfd10b1750d631b5dd72 /pkgs/development/libraries/fftw | |
parent | 19ff097181fdaf4a84c2087f1bc59fa6b0304b6b (diff) | |
download | nixpkgs-a72367ae315765a89c9667948b6961e0d80dfd31.tar nixpkgs-a72367ae315765a89c9667948b6961e0d80dfd31.tar.gz nixpkgs-a72367ae315765a89c9667948b6961e0d80dfd31.tar.bz2 nixpkgs-a72367ae315765a89c9667948b6961e0d80dfd31.tar.lz nixpkgs-a72367ae315765a89c9667948b6961e0d80dfd31.tar.xz nixpkgs-a72367ae315765a89c9667948b6961e0d80dfd31.tar.zst nixpkgs-a72367ae315765a89c9667948b6961e0d80dfd31.zip |
fftw: Re-enable OpenMP with non-GCC and musl.
Clang now supports OpenMP, and musl has no problem with it either. Related to #7023 and #34645. See also #79818.
Diffstat (limited to 'pkgs/development/libraries/fftw')
-rw-r--r-- | pkgs/development/libraries/fftw/default.nix | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix index c9577436c30..fcbcde74538 100644 --- a/pkgs/development/libraries/fftw/default.nix +++ b/pkgs/development/libraries/fftw/default.nix @@ -1,7 +1,8 @@ -{ fetchurl, stdenv, lib, precision ? "double", perl }: +{ fetchurl, stdenv, lib, llvmPackages ? null, precision ? "double", perl }: with lib; +assert stdenv.cc.isClang -> llvmPackages != null; assert elem precision [ "single" "double" "long-double" "quad-precision" ]; let @@ -24,6 +25,11 @@ stdenv.mkDerivation { ++ optional withDoc "info"; # it's dev-doc only outputBin = "dev"; # fftw-wisdom + buildInputs = lib.optionals stdenv.cc.isClang [ + # TODO: This may mismatch the LLVM version sin the stdenv, see #79818. + llvmPackages.openmp + ]; + configureFlags = [ "--enable-shared" "--enable-threads" @@ -32,7 +38,7 @@ stdenv.mkDerivation { # all x86_64 have sse2 # however, not all float sizes fit ++ optional (stdenv.isx86_64 && (precision == "single" || precision == "double") ) "--enable-sse2" - ++ optional (stdenv.cc.isGNU && !stdenv.hostPlatform.isMusl) "--enable-openmp" + ++ [ "--enable-openmp" ] # doc generation causes Fortran wrapper generation which hard-codes gcc ++ optional (!withDoc) "--disable-doc"; |