diff options
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r-- | gnu/packages/maths.scm | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4935f8019f..b4b930de47 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1474,13 +1474,14 @@ constant parts of it.") (build-system gnu-build-system) (arguments `(#:tests? #f ;no "check" target - ;; DYNAMIC_ARCH is only supported on x86. When it is disabled, - ;; OpenBLAS will tune itself to the build host, so we need to disable - ;; substitutions. + ;; DYNAMIC_ARCH is only supported on x86. When it is disabled and no + ;; TARGET is specified, OpenBLAS will tune itself to the build host, so + ;; we need to disable substitutions. #:substitutable? ,(let ((system (or (%current-target-system) (%current-system)))) (or (string-prefix? "x86_64" system) - (string-prefix? "i686" system))) + (string-prefix? "i686" system) + (string-prefix? "mips" system))) #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) "SHELL=bash" @@ -1491,10 +1492,16 @@ constant parts of it.") ;; Unfortunately, this is not supported on non-x86 architectures, ;; where it leads to failed builds. ,@(let ((system (or (%current-target-system) (%current-system)))) - (if (or (string-prefix? "x86_64" system) + (cond + ((or (string-prefix? "x86_64" system) (string-prefix? "i686" system)) - '("DYNAMIC_ARCH=1") - '()))) + '("DYNAMIC_ARCH=1")) + ;; On MIPS we force the "SICORTEX" TARGET, as for the other + ;; two available MIPS targets special extended instructions + ;; for Loongson cores are used. + ((string-prefix? "mips" system) + '("TARGET=SICORTEX")) + (else '())))) ;; no configure script #:phases (alist-delete 'configure %standard-phases))) (inputs |