~ chicken-core (chicken-5) 510bea6fc23312a43674ae258e76f378f331e8cf


commit 510bea6fc23312a43674ae258e76f378f331e8cf
Author:     felix <felix@y.(none)>
AuthorDate: Wed Aug 25 19:19:06 2010 +0200
Commit:     felix <felix@y.(none)>
CommitDate: Wed Aug 25 19:26:07 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