~ chicken-core (chicken-5) 84e7e0d24ad13ee2d0e7645f359a90bbc22a0e25


commit 84e7e0d24ad13ee2d0e7645f359a90bbc22a0e25
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Dec 10 20:55:17 2016 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sat Dec 10 20:55:17 2016 +0100

    csc: twrapped in module, use egg-environment.scm

diff --git a/csc.scm b/csc.scm
index 57d85bc8..eb949739 100644
--- a/csc.scm
+++ b/csc.scm
@@ -24,52 +24,40 @@
 ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 ; POSSIBILITY OF SUCH DAMAGE.
 
-(declare (block))
 
-(import chicken.posix
+(module main ()
+
+(import scheme
+        chicken
+        chicken.posix
 	chicken.data-structures
 	chicken.foreign
 	chicken.format
 	chicken.pathname
-	chicken.utils)
+	chicken.utils
+        chicken.ports
+        chicken.io)
 
+(include "egg-environment.scm")
 (include "mini-srfi-1.scm")
 
-(define-foreign-variable INSTALL_BIN_HOME c-string "C_INSTALL_BIN_HOME")
-(define-foreign-variable INSTALL_CC c-string "C_INSTALL_CC")
-(define-foreign-variable INSTALL_CXX c-string "C_INSTALL_CXX")
-(define-foreign-variable INSTALL_RC_COMPILER c-string "C_INSTALL_RC_COMPILER")
-(define-foreign-variable TARGET_CC c-string "C_TARGET_CC")
-(define-foreign-variable TARGET_CXX c-string "C_TARGET_CXX")
-(define-foreign-variable TARGET_RC_COMPILER c-string "C_TARGET_RC_COMPILER")
-(define-foreign-variable TARGET_CFLAGS c-string "C_TARGET_CFLAGS")
-(define-foreign-variable INSTALL_CFLAGS c-string "C_INSTALL_CFLAGS")
-(define-foreign-variable TARGET_LDFLAGS c-string "C_TARGET_LDFLAGS")
-(define-foreign-variable TARGET_FEATURES c-string "C_TARGET_FEATURES")
-(define-foreign-variable INSTALL_LDFLAGS c-string "C_INSTALL_LDFLAGS")
-(define-foreign-variable INSTALL_MORE_LIBS c-string "C_INSTALL_MORE_LIBS")
-(define-foreign-variable INSTALL_MORE_STATIC_LIBS c-string "C_INSTALL_MORE_STATIC_LIBS")
-(define-foreign-variable INSTALL_SHARE_HOME c-string "C_INSTALL_SHARE_HOME")
-(define-foreign-variable INSTALL_LIB_HOME c-string "C_INSTALL_LIB_HOME")
+(define-foreign-variable windows-shell bool "C_WINDOWS_SHELL")
+(define-foreign-variable POSTINSTALL_PROGRAM c-string "C_INSTALL_POSTINSTALL_PROGRAM")
 (define-foreign-variable INSTALL_LIB_NAME c-string "C_INSTALL_LIB_NAME")
-(define-foreign-variable INSTALL_INCLUDE_HOME c-string "C_INSTALL_INCLUDE_HOME")
-(define-foreign-variable INSTALL_STATIC_LIB_HOME c-string "C_INSTALL_STATIC_LIB_HOME")
-(define-foreign-variable TARGET_MORE_LIBS c-string "C_TARGET_MORE_LIBS")
-(define-foreign-variable TARGET_MORE_STATIC_LIBS c-string "C_TARGET_MORE_STATIC_LIBS")
-(define-foreign-variable TARGET_BIN_HOME c-string "C_TARGET_BIN_HOME")
-(define-foreign-variable TARGET_SHARE_HOME c-string "C_TARGET_SHARE_HOME")
-(define-foreign-variable TARGET_LIB_HOME c-string "C_TARGET_LIB_HOME")
 (define-foreign-variable TARGET_LIB_NAME c-string "C_TARGET_LIB_NAME")
-(define-foreign-variable TARGET_INCLUDE_HOME c-string "C_TARGET_INCLUDE_HOME")
-(define-foreign-variable TARGET_STATIC_LIB_HOME c-string "C_TARGET_STATIC_LIB_HOME")
-(define-foreign-variable TARGET_RUN_LIB_HOME c-string "C_TARGET_RUN_LIB_HOME")
+(define host-libs (foreign-value "C_INSTALL_MORE_LIBS" c-string))
+(define-foreign-variable TARGET_MORE_STATIC_LIBS c-string "C_TARGET_MORE_STATIC_LIBS")
+(define-foreign-variable INSTALL_MORE_STATIC_LIBS c-string "C_INSTALL_MORE_STATIC_LIBS")
+(define TARGET_CC default-cc)
 (define-foreign-variable CHICKEN_PROGRAM c-string "C_CHICKEN_PROGRAM")
+(define-foreign-variable TARGET_FEATURES c-string "C_TARGET_FEATURES")
+(define-foreign-variable TARGET_RUN_LIB_HOME c-string "C_TARGET_RUN_LIB_HOME")
+(define-foreign-variable TARGET_RC_COMPILER c-string "C_TARGET_RC_COMPILER")
+(define-foreign-variable INSTALL_RC_COMPILER c-string "C_INSTALL_RC_COMPILER")
+(define-foreign-variable TARGET_LDFLAGS c-string "C_TARGET_LDFLAGS")
+(define-foreign-variable INSTALL_LDFLAGS c-string "C_INSTALL_LDFLAGS")
 (define-foreign-variable CSC_PROGRAM c-string "C_CSC_PROGRAM")
-(define-foreign-variable WINDOWS_SHELL bool "C_WINDOWS_SHELL")
-(define-foreign-variable BINARY_VERSION int "C_BINARY_VERSION")
-(define-foreign-variable POSTINSTALL_PROGRAM c-string "C_INSTALL_POSTINSTALL_PROGRAM")
 
-(define windows-shell WINDOWS_SHELL)
 
 ;;; Parameters:
 
@@ -107,26 +95,23 @@
   (qs (normalize-pathname str)))
 
 (define home
-  (prefix "" "share" (if host-mode INSTALL_SHARE_HOME TARGET_SHARE_HOME)))
+  (prefix "" "share" (if host-mode host-sharedir default-sharedir)))
 
 (define translator
   (quotewrap
    (prefix "chicken" "bin"
-	   (make-pathname
-	    INSTALL_BIN_HOME
-	    CHICKEN_PROGRAM))))
+	   (make-pathname host-bindir CHICKEN_PROGRAM))))
 
-(define compiler (quotewrap (if host-mode INSTALL_CC TARGET_CC)))
-(define c++-compiler (quotewrap (if host-mode INSTALL_CXX TARGET_CXX)))
+(define compiler (quotewrap (if host-mode host-cc default-cc)))
+(define c++-compiler (quotewrap (if host-mode host-cxx default-cxx)))
 (define rc-compiler (quotewrap (if host-mode INSTALL_RC_COMPILER TARGET_RC_COMPILER)))
-(define linker (quotewrap (if host-mode INSTALL_CC TARGET_CC)))
-(define c++-linker (quotewrap (if host-mode INSTALL_CXX TARGET_CXX)))
+(define linker (quotewrap (if host-mode host-cc default-cc)))
+(define c++-linker (quotewrap (if host-mode host-cxx default-cxx)))
 (define object-extension "o")
 (define library-extension "a")
 (define link-output-flag "-o ")
 (define executable-extension "")
 (define compile-output-flag "-o ")
-(define nonstatic-compilation-options '())
 (define shared-library-extension ##sys#load-dynamic-extension)
 (define default-translation-optimization-options '())
 (define pic-options (if (or mingw cygwin) '("-DPIC") '("-fPIC" "-DPIC")))
@@ -141,7 +126,7 @@
 (define default-library
   (string-append libchicken "." library-extension))
 
-(define default-compilation-optimization-options (string-split (if host-mode INSTALL_CFLAGS TARGET_CFLAGS)))
+(define default-compilation-optimization-options (string-split (if host-mode host-cflags default-cflags)))
 (define best-compilation-optimization-options default-compilation-optimization-options)
 (define default-linking-optimization-options (string-split (if host-mode INSTALL_LDFLAGS TARGET_LDFLAGS)))
 (define best-linking-optimization-options default-linking-optimization-options)
@@ -223,15 +208,13 @@
       TARGET_MORE_STATIC_LIBS))
 
 (define extra-shared-libraries 
-  (if host-mode 
-      INSTALL_MORE_LIBS
-      TARGET_MORE_LIBS))
+  (if host-mode host-libs default-libs))
 
 (define default-library-files 
   (list
    (prefix default-library "lib"
 	   (string-append
-	    (if host-mode INSTALL_LIB_HOME TARGET_LIB_HOME)
+	    (if host-mode host-libdir default-libdir)
 	    (string-append "/" default-library)))) )
 
 (define default-shared-library-files 
@@ -245,7 +228,7 @@
 (define include-dir
   (let ((id (prefix ""
                     (make-pathname "include" "chicken")
-		    (if host-mode INSTALL_INCLUDE_HOME TARGET_INCLUDE_HOME))))
+		    (if host-mode host-incdir default-incdir))))
     (and (not (member id '("/usr/include" "")))
 	 id) ) )
 
@@ -266,9 +249,7 @@
 
 (define library-dir
   (prefix "" "lib"
-         (if host-mode
-             INSTALL_LIB_HOME
-             TARGET_LIB_HOME)) )
+         (if host-mode host-libdir default-libdir)))
 
 (define link-options '())
 
@@ -283,7 +264,7 @@
 		     (quotewrap
 		      (prefix "" "lib"
 			      (if host-mode
-				  INSTALL_LIB_HOME
+				  host-libdir
 				  TARGET_RUN_LIB_HOME)))))))
 	 (aix
 	  (list (conc "-Wl,-R\"" library-dir "\"")))
@@ -593,7 +574,8 @@ EOF
 	     (run-compilation)
 	     (unless compile-only
 	       (when (member target-filename scheme-files)
-		 (printf "Warning: output file will overwrite source file `~A' - renaming source to `~A.old'~%"
+		 (fprintf (current-error-port)
+                          "Warning: output file will overwrite source file `~A' - renaming source to `~A.old'~%"
 			 target-filename target-filename)
 		 (command 
 		  (sprintf
@@ -684,7 +666,7 @@ EOF
 		(when mingw
 		  (set! object-files 
 		    (cons (make-pathname 
-			   INSTALL_SHARE_HOME "chicken.rc"
+			   host-sharedir "chicken.rc"
 			   object-extension) 
 			  object-files))
 		  (set! link-options
@@ -987,13 +969,11 @@ EOF
 (define (lib-path)
   (prefix "" 
 	  "lib"
-	  (if host-mode
-	      INSTALL_LIB_HOME
-	      TARGET_RUN_LIB_HOME)))
+	  (if host-mode host-libdir TARGET_RUN_LIB_HOME)))
 
 (define (target-lib-path)
   (or (get-environment-variable "TARGET_LIB_PATH")
-      (let ((tdir TARGET_LIB_HOME))
+      (let ((tdir default-libdir))
 	(if (and (not (string=? tdir ""))
 		 cross-chicken
 		 (not host-mode))
@@ -1126,3 +1106,5 @@ EOF
  (append 
   (string-split (or (get-environment-variable "CSC_OPTIONS") "")) 
   arguments))
+
+)
diff --git a/rules.make b/rules.make
index c6bd0d1f..5cad2315 100644
--- a/rules.make
+++ b/rules.make
@@ -830,7 +830,7 @@ chicken-uninstall.c: $(SRCDIR)chicken-uninstall.scm $(SRCDIR)mini-srfi-1.scm $(S
 	$(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ 
 chicken-status.c: $(SRCDIR)chicken-status.scm $(SRCDIR)mini-srfi-1.scm $(SRCDIR)egg-environment.scm $(SRCDIR)egg-information.scm
 	$(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ 
-csc.c: $(SRCDIR)csc.scm mini-srfi-1.scm
+csc.c: $(SRCDIR)csc.scm $(SRCDIR)mini-srfi-1.scm $(SRCDIR)egg-environment.scm
 	$(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ 
 chicken-bug.c: $(SRCDIR)chicken-bug.scm
 	$(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ 
Trap