From: Chris Hanson <org/chris-hanson/cph>
Date: Wed, 24 Aug 1988 22:28:55 +0000 (+0000)
Subject: Guarantee that "comp.bcon" is constructed if it doesn't already exist.
X-Git-Tag: 20090517-FFI~12585
X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=3858342b6db8cbd8d795fdc9444a042af3a4ef08;p=mit-scheme.git

Guarantee that "comp.bcon" is constructed if it doesn't already exist.
---

diff --git a/v7/src/compiler/machines/bobcat/compiler.sf b/v7/src/compiler/machines/bobcat/compiler.sf
index 90009ca13..caa63da33 100644
--- a/v7/src/compiler/machines/bobcat/compiler.sf
+++ b/v7/src/compiler/machines/bobcat/compiler.sf
@@ -1,7 +1,17 @@
 ;;; -*- Scheme -*-
 
+(if (not (name->package '(CROSS-REFERENCE)))
+    (with-working-directory-pathname "/scheme/cref" (lambda () (load "make"))))
+
 (if (not (name->package '(COMPILER)))
-    (load "comp.bcon"))
+    (begin
+      (if (not (file-exists? "comp.bcon"))
+	  (begin
+	    ((package/reference (find-package '(CROSS-REFERENCE))
+				'CREF/GENERATE-TRIVIAL-CONSTRUCTOR)
+	     "comp")
+	    (sf "comp.con" "comp.bcon")))
+      (load "comp.bcon")))
 
 (let ((sf-and-load
        (lambda (files package)
@@ -49,9 +59,6 @@
 		      '("instr1" "instr2" "instr3" "instr4")))))))
 
 ((package/reference (find-package '(COMPILER DECLARATIONS)) 'SYNTAX-FILES!))
-
-(if (not (name->package '(CROSS-REFERENCE)))
-    (with-working-directory-pathname "/scheme/cref" (lambda () (load "make"))))
 (cref/generate-all "comp")
 (sf "comp.con" "comp.bcon")
 (sf "comp.ldr" "comp.bldr")
\ No newline at end of file