gnu: chez-scheme-for-system: Adjust for bytecode backend.
Change 'chez-scheme-for-system' to return 'chez-scheme-for-racket' in two cases when it previously returned 'chez-scheme': 1. When 'chez-scheme' is not distributed with bootstrap bootfiles, since we can only cross-compile 'chez-scheme' for those systems; and 2. When neither 'chez-scheme' nor 'chez-scheme-for-racket' supports native code generation, since we will be able to use the ``portable bytecode'' backends of 'chez-scheme-for-racket' as soon as the issues in <https://racket.discourse.group/t/950> are resolved. * gnu/packages/chez.scm (chez-scheme-for-racket): Change condition. Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
4c0ac41ba4
commit
3547bb6a66
|
@ -69,14 +69,17 @@
|
||||||
(define* (chez-scheme-for-system #:optional
|
(define* (chez-scheme-for-system #:optional
|
||||||
(system (or (%current-target-system)
|
(system (or (%current-target-system)
|
||||||
(%current-system))))
|
(%current-system))))
|
||||||
"Return 'chez-scheme' unless only 'chez-scheme-for-racket' supports SYSTEM,
|
"Return 'chez-scheme' if it fully supports SYSTEM, including support for
|
||||||
including support for native threads."
|
bootstrapping and native threads. Otherwise, return
|
||||||
(if (or
|
'chez-scheme-for-racket'."
|
||||||
;; full support upstream
|
(if (and=> (chez-upstream-features-for-system system)
|
||||||
(and=> (chez-upstream-features-for-system system)
|
(lambda (features)
|
||||||
(cut memq 'threads <>))
|
(every (cut memq <> features)
|
||||||
;; no support anywhere
|
'(threads
|
||||||
(not (nix-system->chez-machine system)))
|
;; We can cross-compile for platforms without
|
||||||
|
;; bootstrap bootfiles, but we can't self-host
|
||||||
|
;; on them short of adding more binary seeds.
|
||||||
|
bootstrap-bootfiles))))
|
||||||
chez-scheme
|
chez-scheme
|
||||||
chez-scheme-for-racket))
|
chez-scheme-for-racket))
|
||||||
|
|
||||||
|
|
Reference in New Issue