Implement COMPILER-MAKE-FILE to determine the correct "make" file to
authorChris Hanson <org/chris-hanson/cph>
Sat, 9 Jun 2007 02:42:35 +0000 (02:42 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sat, 9 Jun 2007 02:42:35 +0000 (02:42 +0000)
load based on the contents of the "compiler/machine" symlink.

v7/src/etc/compile.scm
v7/src/etc/utilities.scm

index 7ca933008d1c5a995386811d24409c0a452d6b9d..23ea333205447ed3d7441ffe5829724e5cf70023 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: compile.scm,v 1.23 2007/06/09 02:37:54 cph Exp $
+$Id: compile.scm,v 1.24 2007/06/09 02:42:29 cph Exp $
 
 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
@@ -90,10 +90,11 @@ USA.
 
 (define (native-prepare)
   (load-option 'SF)
-  (with-working-directory-pathname "compiler"
-    (lambda ()
-      (load "compiler.so")
-      (load "machines/i386/make")))
+  (let ((make-file (compiler-make-file)))
+    (with-working-directory-pathname "compiler"
+      (lambda ()
+       (load "compiler.so")
+       (load make-file))))
   (compile-boot-dirs compile-dir)
   (sf "microcode/utabmd"))
 
index 09e10ca337fc74a63d9c5872f9553c6e5f4ed2d7..68002b21ecab38e5a37f01d5bdadc643fe886ec0 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: utilities.scm,v 1.5 2007/06/08 06:04:09 cph Exp $
+$Id: utilities.scm,v 1.6 2007/06/09 02:42:35 cph Exp $
 
 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
@@ -123,10 +123,7 @@ USA.
                             (string=? bundle "sf"))
                         (cons "make" names))
                        ((string=? bundle "compiler")
-                        (cons* (string-append
-                                (or (file-symbolic-link? "compiler/machine")
-                                    (error "Missing compiler/machine link."))
-                                "/make")
+                        (cons* (compiler-make-file)
                                "base/make"
                                names))
                        ((string=? bundle "edwin")
@@ -136,6 +133,12 @@ USA.
                                names))
                        (else names)))
                string<?))))
+
+(define (compiler-make-file)
+  (string-append
+   (or (file-symbolic-link? "compiler/machine")
+       (error "Missing compiler/machine link."))
+   "/make"))
 \f
 (define (write-header output)
   (write-string "# This file automatically generated at " output)