Merge pull request #120983 from tsurucapital/openblas-dynamic-arch

openblas: Allow setting DYNAMIC_ARCH

authored by

Thomas Tuegel and committed by
GitHub
afd7f222 50a11f4f

+11 -8
+11 -8
pkgs/development/libraries/science/math/openblas/default.nix
··· 15 15 # Select a specific optimization target (other than the default) 16 16 # See https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt 17 17 , target ? null 18 + # Select whether DYNAMIC_ARCH is enabled or not. 19 + , dynamicArch ? null 18 20 , enableStatic ? stdenv.hostPlatform.isStatic 19 21 , enableShared ? !stdenv.hostPlatform.isStatic 20 22 }: ··· 25 27 26 28 let 27 29 setTarget = x: if target == null then x else target; 30 + setDynamicArch = x: if dynamicArch == null then x else dynamicArch; 28 31 29 32 # To add support for a new platform, add an element to this set. 30 33 configs = { 31 34 armv6l-linux = { 32 35 BINARY = 32; 33 36 TARGET = setTarget "ARMV6"; 34 - DYNAMIC_ARCH = false; 37 + DYNAMIC_ARCH = setDynamicArch false; 35 38 USE_OPENMP = true; 36 39 }; 37 40 38 41 armv7l-linux = { 39 42 BINARY = 32; 40 43 TARGET = setTarget "ARMV7"; 41 - DYNAMIC_ARCH = false; 44 + DYNAMIC_ARCH = setDynamicArch false; 42 45 USE_OPENMP = true; 43 46 }; 44 47 45 48 aarch64-darwin = { 46 49 BINARY = 64; 47 50 TARGET = setTarget "VORTEX"; 48 - DYNAMIC_ARCH = true; 51 + DYNAMIC_ARCH = setDynamicArch true; 49 52 USE_OPENMP = false; 50 53 MACOSX_DEPLOYMENT_TARGET = "11.0"; 51 54 }; ··· 53 56 aarch64-linux = { 54 57 BINARY = 64; 55 58 TARGET = setTarget "ARMV8"; 56 - DYNAMIC_ARCH = true; 59 + DYNAMIC_ARCH = setDynamicArch true; 57 60 USE_OPENMP = true; 58 61 }; 59 62 60 63 i686-linux = { 61 64 BINARY = 32; 62 65 TARGET = setTarget "P2"; 63 - DYNAMIC_ARCH = true; 66 + DYNAMIC_ARCH = setDynamicArch true; 64 67 USE_OPENMP = true; 65 68 }; 66 69 67 70 x86_64-darwin = { 68 71 BINARY = 64; 69 72 TARGET = setTarget "ATHLON"; 70 - DYNAMIC_ARCH = true; 73 + DYNAMIC_ARCH = setDynamicArch true; 71 74 USE_OPENMP = false; 72 75 MACOSX_DEPLOYMENT_TARGET = "10.7"; 73 76 }; ··· 75 78 x86_64-linux = { 76 79 BINARY = 64; 77 80 TARGET = setTarget "ATHLON"; 78 - DYNAMIC_ARCH = true; 81 + DYNAMIC_ARCH = setDynamicArch true; 79 82 USE_OPENMP = !stdenv.hostPlatform.isMusl; 80 83 }; 81 84 82 85 powerpc64le-linux = { 83 86 BINARY = 64; 84 87 TARGET = setTarget "POWER5"; 85 - DYNAMIC_ARCH = true; 88 + DYNAMIC_ARCH = setDynamicArch true; 86 89 USE_OPENMP = !stdenv.hostPlatform.isMusl; 87 90 }; 88 91 };