gnu: gcc: Add 'compiler-cpu-architectures' property.

* gnu/packages/gcc.scm (%gcc-7.5-x86_64-micro-architectures)
(%gcc-10-x86_64-micro-architectures): New variables.
(gcc-7, gcc-10): Add 'properties' field.
* gnu/packages/commencement.scm (make-gcc-toolchain): Likewise.
This commit is contained in:
Ludovic Courtès 2021-12-16 16:49:34 +01:00
parent a644f88d28
commit 2576e2019d
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 30 additions and 2 deletions

View file

@ -3768,6 +3768,7 @@ (define* (make-gcc-toolchain gcc
(append (package-search-paths gcc)
(package-search-paths libc)))
(properties (package-properties gcc)) ;for 'compiler-cpu-architectures'
(license (package-license gcc))
(synopsis "Complete GCC tool chain for C/C++ development")
(description

View file

@ -525,6 +525,27 @@ (define-public gcc-6
,@(package-inputs gcc-4.7)))))
(define %gcc-7.5-x86_64-micro-architectures
;; Suitable '-march' values for GCC 7.5 (info "(gcc) x86 Options").
'("core2" "nehalem" "westmere" "sandybridge" "ivybridge"
"haswell" "broadwell" "skylake" "bonnell" "silvermont"
"knl" "skylake-avx512"
"k8" "k8-sse3" "barcelona"
"bdver1" "bdver2" "bdver3" "bdver4"
"znver1"
"btver1" "btver2" "geode"))
(define %gcc-10-x86_64-micro-architectures
;; Suitable '-march' values for GCC 10.
(append %gcc-7.5-x86_64-micro-architectures
'("goldmont" "goldmont-plus" "tremont"
"knm" "cannonlake" "icelake-client" "icelake-server"
"cascadelake" "cooperlake" "tigerlake"
"znver2" "znver3")))
(define-public gcc-7
(package
(inherit gcc-6)
@ -542,7 +563,10 @@ (define-public gcc-7
(description
"GCC is the GNU Compiler Collection. It provides compiler front-ends
for several languages, including C, C++, Objective-C, Fortran, Ada, and Go.
It also includes runtime support libraries for these languages.")))
It also includes runtime support libraries for these languages.")
(properties
`((compiler-cpu-architectures
("x86_64" ,@%gcc-7.5-x86_64-micro-architectures))))))
(define-public gcc-8
(package
@ -592,7 +616,10 @@ (define-public gcc-10
(patches (search-patches "gcc-9-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"))
(modules '((guix build utils)))
(snippet gcc-canadian-cross-objdump-snippet)))))
(snippet gcc-canadian-cross-objdump-snippet)))
(properties
`((compiler-cpu-architectures
("x86_64" ,@%gcc-10-x86_64-micro-architectures))))))
(define-public gcc-11
(package