[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 13/15: Fix 'absolute-file-name?' and others for cross-bu
From: |
Jan Nieuwenhuizen |
Subject: |
[Guile-commits] 13/15: Fix 'absolute-file-name?' and others for cross-build to MinGW. |
Date: |
Mon, 12 Apr 2021 05:55:46 -0400 (EDT) |
janneke pushed a commit to branch wip-mingw
in repository guile.
commit 177aa66e41e2f01aec725dd90e555a9d188062fb
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] 05/15: Compile fix for x86_64-MinGW., (continued)
- [Guile-commits] 05/15: Compile fix for x86_64-MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 06/15: Add 'set-mode' procedure for MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 11/15: DRAFT Add partial `scm_fcntl' support for MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 08/15: Make `read-bytes' suspendable for socket reads on MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 12/15: Define 'SIGHUP' for MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 01/15: Document write-line., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 03/15: Fix 'gethostname' prototype for x86_64-MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 04/15: Clear errno before CreateProcess for MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 07/15: Add `scm_sigaction_for_thread' stub for MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 09/15: Install 'mingw_take_signal' on MinGW., Jan Nieuwenhuizen, 2021/04/12
- [Guile-commits] 13/15: Fix 'absolute-file-name?' and others for cross-build to MinGW.,
Jan Nieuwenhuizen <=
- [Guile-commits] 14/15: guix: Add guile-patched, guile-mingw., Jan Nieuwenhuizen, 2021/04/12