anchor.diff: -{ 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
  
positive.code:     ++ optional withDoc "info"; # it's dev-doc only
    outputBin = "dev"; # fftw-wisdom
  
    configureFlags =
      [ "--enable-shared"
        "--enable-threads"
  
negative.code:     # all x86_64 have sse2
      # however, not all float sizes fit
      ++ optional (stdenv.isx86_64 && (precision == "single" || precision == "double") )  "--enable-sse2"
      ++ [ "--enable-openmp" ]
      # doc generation causes Fortran wrapper generation which hard-codes gcc
      ++ optional (!withDoc) "--disable-doc";
  
  