summaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm21
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