guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] gnu: openblas: Disable DYNAMIC_ARCH on MIPS.


From: Ricardo Wurmus
Subject: [PATCH] gnu: openblas: Disable DYNAMIC_ARCH on MIPS.
Date: Tue, 19 May 2015 16:14:39 +0200

Hi Guix,

it was suggested here[1] that DYNAMIC_ARCH does not work on MIPS, so the
package has be built specifically for the CPU of the build host.
Obviously, we lose substitutability in this case.

The attached patch is an attempt to disable DYNAMIC_ARCH when building
on MIPS.  (I'm not sure when %current-system is available, so I'm not
sure if the unquoting is correct.)

[1]: https://github.com/xianyi/OpenBLAS/issues/570

>From 0b1779915e4f75511281c01f2f346aa808b90c6d Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Tue, 19 May 2015 16:10:25 +0200
Subject: [PATCH] gnu: openblas: Disable DYNAMIC_ARCH on MIPS.

* gnu/packages/maths.scm (openblas)[arguments]: Do not pass DYNAMIC_ARCH when
  building for MIPS.  Also make non-substitutable for MIPS.
---
 gnu/packages/maths.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index f27903c..8d21a82 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1037,7 +1037,11 @@ constant parts of it.")
          "0av3pd96j8rx5i65f652xv9wqfkaqn0w4ma1gvbyz73i6j2hi9db"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:tests? #f  ;no "check" target
+     `(#:tests? #f  ;no "check" target
+       ;; DYNAMIC_ARCH is not supported on MIPS.  When it is disabled,
+       ;; OpenBLAS will tune itself to the build host, so we need to disable
+       ;; substitutions.
+       #:substitutable? ,(not (string-prefix? "mips" (%current-system)))
        #:make-flags
        (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
              "SHELL=bash"
@@ -1045,7 +1049,10 @@ constant parts of it.")
              ;; Build the library for all supported CPUs.  This allows
              ;; switching CPU targets at runtime with the environment variable
              ;; OPENBLAS_CORETYPE=<type>, where "type" is a supported CPU type.
-             "DYNAMIC_ARCH=1")
+             ;; Unfortunately, this is not supported on MIPS.
+             ,@(if (string-prefix? "mips" (%current-system))
+                   (list)
+                   (list "DYNAMIC_ARCH=1")))
        ;; no configure script
        #:phases (alist-delete 'configure %standard-phases)))
     (inputs
-- 
2.1.0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]