diff options
author | Ludovic Courtès <ludovic.courtes@inria.fr> | 2022-03-14 09:39:33 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-03-14 23:32:30 +0100 |
commit | 3b80e79f219be5357ccd7d4540ef0688184aa28c (patch) | |
tree | 37978258f81f412b90e51d35912444399dc51c27 /guix | |
parent | 15bb35d0c42e6f61c3ffc8e5e6e2d9b2d00a8902 (diff) |
transformations: '--tune' prints supported micro-architectures upon error.
* guix/transformations.scm (build-system-with-tuning-compiler): Add
&fix-hint condition when asked for an unsupported micro-architecture.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/transformations.scm | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/guix/transformations.scm b/guix/transformations.scm index 0976f0d824..a0045e5b27 100644 --- a/guix/transformations.scm +++ b/guix/transformations.scm @@ -46,6 +46,7 @@ #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:use-module (srfi srfi-37) #:use-module (ice-9 match) #:use-module (ice-9 vlist) @@ -526,10 +527,29 @@ system that builds code for MICRO-ARCHITECTURE; otherwise raise an error." micro-architecture))) (unless (member micro-architecture (or (assoc-ref lst architecture) '())) - (raise (formatted-message - (G_ "compiler ~a does not support micro-architecture ~a") - (package-full-name compiler) - micro-architecture)))) + (raise + (make-compound-condition + (formatted-message + (G_ "compiler ~a does not support micro-architecture ~a") + (package-full-name compiler) + micro-architecture) + (condition + (&fix-hint + (hint (match (assoc-ref lst architecture) + (#f (format #f (G_ "Compiler ~a does not support +micro-architectures of ~a.") + (package-full-name compiler "@@") + architecture)) + (lst + (format #f (G_ "Compiler ~a supports the following ~a +micro-architectures: + +@quotation +~a +@end quotation") + (package-full-name compiler "@@") + architecture + (string-join lst ", "))))))))))) (bag (inherit lowered) |