mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
transformations: Add support for zig.
* guix/transformations.scm (tuning-compiler): Add support for zig. Change-Id: I40bd28071c97c0dd0a907c704072b52b26d2de28 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This commit is contained in:
parent
87bb9c9664
commit
2cc6e09a03
1 changed files with 18 additions and 7 deletions
|
@ -3,6 +3,7 @@
|
|||
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2023 Sarthak Shah <shahsarthakw@gmail.com>
|
||||
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2023 Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -439,7 +440,8 @@ (define tuning-compiler
|
|||
actual compiler."
|
||||
(define wrapper
|
||||
#~(begin
|
||||
(use-modules (ice-9 match))
|
||||
(use-modules (ice-9 match)
|
||||
(ice-9 string-fun))
|
||||
|
||||
(define psabi #$(gcc-architecture->micro-architecture-level
|
||||
micro-architecture))
|
||||
|
@ -486,11 +488,20 @@ (define this
|
|||
(apply
|
||||
execl next
|
||||
(append (cons next arguments)
|
||||
(if (and (search-next "go")
|
||||
(string=? next (search-next "go")))
|
||||
'()
|
||||
(list (string-append "-march="
|
||||
#$micro-architecture)))))))))))
|
||||
(cond
|
||||
((and (search-next "go")
|
||||
(string=? next (search-next "go")))
|
||||
'())
|
||||
((and (search-next "zig")
|
||||
(string=? next (search-next "zig")))
|
||||
`(,(string-append
|
||||
;; https://issues.guix.gnu.org/67075#3
|
||||
"-Dcpu="
|
||||
(string-replace-substring
|
||||
#$micro-architecture "-" "_"))))
|
||||
(else
|
||||
(list (string-append "-march="
|
||||
#$micro-architecture))))))))))))
|
||||
|
||||
(define program
|
||||
(program-file (string-append "tuning-compiler-wrapper-" micro-architecture)
|
||||
|
@ -508,7 +519,7 @@ (define bin (string-append #$output "/bin"))
|
|||
(symlink #$program
|
||||
(string-append bin "/" program)))
|
||||
'("cc" "gcc" "clang" "g++" "c++" "clang++"
|
||||
"go")))))))
|
||||
"go" "zig")))))))
|
||||
|
||||
(define (build-system-with-tuning-compiler bs micro-architecture)
|
||||
"Return a variant of BS, a build system, that ensures that the compiler that
|
||||
|
|
Loading…
Reference in a new issue