~ chicken-core (chicken-5) 5f60c9d7e21007a7215193f93859f7f227414372
commit 5f60c9d7e21007a7215193f93859f7f227414372
Author: felix <felix@y.(none)>
AuthorDate: Wed Aug 25 19:19:06 2010 +0200
Commit: felix <felix@y.(none)>
CommitDate: Wed Aug 25 19:19:06 2010 +0200
handle ./ prg prefix on windows
diff --git a/setup-api.scm b/setup-api.scm
index 9c14871a..5f4f37de 100644
--- a/setup-api.scm
+++ b/setup-api.scm
@@ -231,27 +231,29 @@
(reg "chicken-bug" (foreign-value "C_CHICKEN_BUG_PROGRAM" c-string)))
(define (fixpath prg)
- (if (string=? prg "csc")
- (string-intersperse
- (cons*
- (shellpath (find-program "csc"))
- "-feature" "compiling-extension"
- (if (and (feature? #:cross-chicken)
- (not (host-extension)))
- "" "-setup-mode")
- (if (keep-intermediates) "-k" "")
- (if (host-extension) "-host" "")
- (if (deployment-mode) "-deployed" "")
- (append
- (map (lambda (f)
- (string-append "-feature " (symbol->string f)))
- (extra-features))
- (map (lambda (f)
- (string-append "-no-feature " (symbol->string f)))
- (extra-nonfeatures))
- *csc-options*) )
- " ")
- (find-program prg)))
+ (cond ((string=? prg "csc")
+ (string-intersperse
+ (cons*
+ (shellpath (find-program "csc"))
+ "-feature" "compiling-extension"
+ (if (and (feature? #:cross-chicken)
+ (not (host-extension)))
+ "" "-setup-mode")
+ (if (keep-intermediates) "-k" "")
+ (if (host-extension) "-host" "")
+ (if (deployment-mode) "-deployed" "")
+ (append
+ (map (lambda (f)
+ (string-append "-feature " (symbol->string f)))
+ (extra-features))
+ (map (lambda (f)
+ (string-append "-no-feature " (symbol->string f)))
+ (extra-nonfeatures))
+ *csc-options*) )
+ " ") )
+ ((and (string-prefix? "./" prg) *windows-shell*)
+ (shellpath (substring prg 2)))
+ (else (find-program prg))))
(define (fixmaketarget file)
(if (and (equal? "so" (pathname-extension file))
Trap