summaryrefslogtreecommitdiff
path: root/gnu/packages/gcc.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-09-15 10:20:32 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-09-15 10:20:32 -0400
commit3d297a0017210f1dd135592efb10846840a8af88 (patch)
tree8868c35a558a6288b5097d65bee42dda291178e4 /gnu/packages/gcc.scm
parent279349209e44aaae6ca2aba328fe2a4d2da99f12 (diff)
parent6737d8d3248301e65bc24291b1a776e4aa8c3648 (diff)
Merge branch 'master' into staging
With resolved conflicts in: gnu/local.mk gnu/packages/freedesktop.scm gnu/packages/gnuzilla.scm
Diffstat (limited to 'gnu/packages/gcc.scm')
-rw-r--r--gnu/packages/gcc.scm53
1 files changed, 36 insertions, 17 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 11ee631bf4..bb8a922d53 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -968,31 +968,43 @@ as the 'native-search-paths' field."
(custom-gcc gcc-11 "gdc" '("d")
%generic-search-paths)))
-(define-public libgccjit
+(define-public (make-libgccjit gcc)
(package
- (inherit gcc-9)
+ (inherit gcc)
(name "libgccjit")
(outputs (delete "lib" (package-outputs gcc)))
(properties (alist-delete 'hidden? (package-properties gcc)))
(arguments
- (substitute-keyword-arguments `(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (ice-9 regex)
- (srfi srfi-1)
- (srfi srfi-26))
- ,@(package-arguments gcc))
+ (substitute-keyword-arguments (package-arguments gcc)
+ ((#:modules _ '())
+ '((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 regex)
+ (srfi srfi-1)
+ (srfi srfi-26)))
((#:configure-flags flags)
- `(append `("--enable-host-shared"
- ,(string-append "--enable-languages=jit"))
+ #~(cons* "--disable-bootstrap"
+ "--disable-libatomic"
+ "--disable-libgomp"
+ "--disable-libquadmath"
+ "--disable-libssp"
+ "--enable-host-shared"
+ "--enable-checking=release"
+ "--enable-languages=jit"
(remove (cut string-match "--enable-languages.*" <>)
- ,flags)))
+ #$flags)))
((#:phases phases)
- `(modify-phases ,phases
- (add-after 'install 'remove-broken-or-conflicting-files
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each delete-file
- (find-files (string-append (assoc-ref outputs "out") "/bin")
- ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))
+ #~(modify-phases #$phases
+ (add-after 'install 'remove-broken-or-conflicting-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each delete-file
+ (find-files
+ (string-append (assoc-ref outputs "out") "/bin")
+ ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))))))))
+ (inputs (modify-inputs (package-inputs gcc)
+ (delete "libstdc++")))
+ (native-inputs (modify-inputs (package-native-inputs gcc)
+ (prepend gcc)))
(synopsis "GCC library generating machine code on-the-fly at runtime")
(description
"This package is part of the GNU Compiler Collection and provides an
@@ -1003,6 +1015,13 @@ It can also be used for ahead-of-time code generation for building standalone
compilers. The just-in-time (jit) part of the name is now something of a
misnomer.")))
+(define-public libgccjit-9 (make-libgccjit gcc-9))
+(define-public libgccjit-10 (make-libgccjit gcc-10))
+(define-public libgccjit-11 (make-libgccjit gcc-11))
+(define-public libgccjit-12 (make-libgccjit gcc-12))
+
+(define-public libgccjit libgccjit-10)
+
(define (make-gccgo gcc)
"Return a gccgo package based on GCC."
(let ((gccgo (custom-gcc gcc "gccgo" '("go") %generic-search-paths)))