[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 03/12: Fix 'absolute-file-name?' and others for cross-bu
From: |
Jan Nieuwenhuizen |
Subject: |
[Guile-commits] 03/12: Fix 'absolute-file-name?' and others for cross-build to MinGW. |
Date: |
Mon, 12 Apr 2021 15:43:45 -0400 (EDT) |
janneke pushed a commit to branch wip-mingw
in repository guile.
commit 8176d246d60d043ffc9f47707addd4b3a5aae83a
Author: Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Thu Mar 18 07:46:49 2021 +0100
Fix 'absolute-file-name?' and others for cross-build to MinGW.
* module/ice-9/boot-9.scm (compile-time-file-name-convention): New
procedure, defined only when loading.
(compile-time-case): Use it to correctly determine system file name
convention while compiling.
---
module/ice-9/boot-9.scm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index 165fa25..e20bf04 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -2060,6 +2060,16 @@ non-locally, that exit determines the continuation."
;;; {Load Paths}
;;;
+(eval-when (load)
+ (define (compile-time-file-name-convention)
+ (let ((target (fluid-ref (@@ (system base target) %target-type))))
+ (cond ((equal? target %host-type)
+ (system-file-name-convention))
+ ((string-contains-ci target "mingw")
+ 'windows)
+ (else
+ 'posix)))))
+
(let-syntax ((compile-time-case
(lambda (stx)
(syntax-case stx ()
@@ -2077,7 +2087,9 @@ non-locally, that exit determines the continuation."
#'(begin form ...)
(next-clause #'(clauses ...))))))))))))
;; emacs: (put 'compile-time-case 'scheme-indent-function 1)
- (compile-time-case (system-file-name-convention)
+ (compile-time-case (or (and (defined? 'compile-time-file-name-convention)
+ (compile-time-file-name-convention))
+ 'posix)
((posix)
(define (file-name-separator? c)
(char=? c #\/))
- [Guile-commits] branch wip-mingw created (now 35df938), Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 03/12: Fix 'absolute-file-name?' and others for cross-build to MinGW.,
Jan Nieuwenhuizen <=
- [Guile-commits] 02/12: Link fix for MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 07/12: Add `scm_sigaction_for_thread' stub for MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 08/12: DRAFT Support for x86_64-w64-mingw32., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 05/12: Add 'set-binary/text-mode!' procedure for MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 12/12: DEBUG guile.cmd: Some Wine help., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 01/12: gnulib: Import the gethostname module., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 04/12: Clear errno before CreateProcess for MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 06/12: Install 'mingw_take_signal' on MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 10/12: DRAFT Add partial `scm_fcntl' support for MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 09/12: DRAFT Make `read-bytes' suspendable for socket reads on MinGW., Jan Nieuwenhuizen, 2021/04/12