diff options
author | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2021-04-28 14:40:23 +0900 |
---|---|---|
committer | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2021-04-28 14:40:23 +0900 |
commit | 60ed2deee53be29ab25fa994059adfc6906d013d (patch) | |
tree | 5729de65a295c253ac2e4103bcf46883625fc753 /pkgs/development/libraries/science/math/openblas | |
parent | e424c9118bbc05a82c13ae252f7808ffb6a65a8b (diff) |
openblas: Allow setting DYNAMIC_ARCH
Diffstat (limited to 'pkgs/development/libraries/science/math/openblas')
-rw-r--r-- | pkgs/development/libraries/science/math/openblas/default.nix | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index c66e4ba44ef9e..f464a755f6e48 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -15,6 +15,8 @@ # Select a specific optimization target (other than the default) # See https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt , target ? null +# Select whether DYNAMIC_ARCH is enabled or not. +, dynamicArch ? null , enableStatic ? stdenv.hostPlatform.isStatic , enableShared ? !stdenv.hostPlatform.isStatic }: @@ -25,27 +27,28 @@ let blas64_ = blas64; in let setTarget = x: if target == null then x else target; + setDynamicArch = x: if dynamicArch == null then x else dynamicArch; # To add support for a new platform, add an element to this set. configs = { armv6l-linux = { BINARY = 32; TARGET = setTarget "ARMV6"; - DYNAMIC_ARCH = false; + DYNAMIC_ARCH = setDynamicArch false; USE_OPENMP = true; }; armv7l-linux = { BINARY = 32; TARGET = setTarget "ARMV7"; - DYNAMIC_ARCH = false; + DYNAMIC_ARCH = setDynamicArch false; USE_OPENMP = true; }; aarch64-darwin = { BINARY = 64; TARGET = setTarget "VORTEX"; - DYNAMIC_ARCH = true; + DYNAMIC_ARCH = setDynamicArch true; USE_OPENMP = false; MACOSX_DEPLOYMENT_TARGET = "11.0"; }; @@ -53,21 +56,21 @@ let aarch64-linux = { BINARY = 64; TARGET = setTarget "ARMV8"; - DYNAMIC_ARCH = true; + DYNAMIC_ARCH = setDynamicArch true; USE_OPENMP = true; }; i686-linux = { BINARY = 32; TARGET = setTarget "P2"; - DYNAMIC_ARCH = true; + DYNAMIC_ARCH = setDynamicArch true; USE_OPENMP = true; }; x86_64-darwin = { BINARY = 64; TARGET = setTarget "ATHLON"; - DYNAMIC_ARCH = true; + DYNAMIC_ARCH = setDynamicArch true; USE_OPENMP = false; MACOSX_DEPLOYMENT_TARGET = "10.7"; }; @@ -75,14 +78,14 @@ let x86_64-linux = { BINARY = 64; TARGET = setTarget "ATHLON"; - DYNAMIC_ARCH = true; + DYNAMIC_ARCH = setDynamicArch true; USE_OPENMP = !stdenv.hostPlatform.isMusl; }; powerpc64le-linux = { BINARY = 64; TARGET = setTarget "POWER5"; - DYNAMIC_ARCH = true; + DYNAMIC_ARCH = setDynamicArch true; USE_OPENMP = !stdenv.hostPlatform.isMusl; }; }; |