Add option files and procedure `load-option' to load them.
authorChris Hanson <org/chris-hanson/cph>
Thu, 7 Jul 1988 16:13:39 +0000 (16:13 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 7 Jul 1988 16:13:39 +0000 (16:13 +0000)
v7/src/runtime/make.scm
v7/src/runtime/option.scm [new file with mode: 0644]
v7/src/runtime/runtime.pkg
v7/src/runtime/version.scm
v8/src/runtime/make.scm
v8/src/runtime/runtime.pkg

index 44e7f2f67a987dff1847d1c3de0108775211d9f1..91783d9c255c78aa4944d5458a88e536ac1a9ff7 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/make.scm,v 14.3 1988/06/16 06:32:27 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/make.scm,v 14.4 1988/07/07 16:13:22 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -291,7 +291,8 @@ MIT in each case. |#
                (string=? filename "gc")))
        (eval (purify (fasload (map-filename filename))) environment)))
  `((SORT-TYPE . MERGE-SORT)
-   (OS-TYPE . ,(string->symbol (string-upcase os-name-string)))))
+   (OS-TYPE . ,(string->symbol (string-upcase os-name-string)))
+   (OPTIONS . NO-LOAD)))
 \f
 ;; Funny stuff is done.  Rest of sequence is standardized.
 (package-initialization-sequence
diff --git a/v7/src/runtime/option.scm b/v7/src/runtime/option.scm
new file mode 100644 (file)
index 0000000..1587d28
--- /dev/null
@@ -0,0 +1,63 @@
+#| -*-Scheme-*-
+
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/option.scm,v 14.1 1988/07/07 16:13:08 cph Exp $
+
+Copyright (c) 1988 Massachusetts Institute of Technology
+
+This material was developed by the Scheme project at the Massachusetts
+Institute of Technology, Department of Electrical Engineering and
+Computer Science.  Permission to copy this software, to redistribute
+it, and to use it for any purpose is granted, subject to the following
+restrictions and understandings.
+
+1. Any copy made of this software must include this copyright notice
+in full.
+
+2. Users of this software agree to make their best efforts (a) to
+return to the MIT Scheme project any improvements or extensions that
+they make, so that these may be included in future releases; and (b)
+to inform MIT of noteworthy uses of this software.
+
+3. All materials developed as a consequence of the use of this
+software shall duly acknowledge such use, in accordance with the usual
+standards of acknowledging credit in academic research.
+
+4. MIT has made no warrantee or representation that the operation of
+this software will be error-free, and MIT is under no obligation to
+provide any services, by way of maintenance, update, or otherwise.
+
+5. In conjunction with products arising from the use of this material,
+there shall be no use of the name of the Massachusetts Institute of
+Technology nor of any adaptation thereof in any advertising,
+promotional, or sales literature without prior written consent from
+MIT in each case. |#
+
+;;;; Option Loader
+;;; package: (runtime option-loader)
+
+(declare (usual-integrations))
+\f
+(define (load-option name)
+  (let ((entry (assq name options))
+       (pathname
+        (merge-pathnames (make-pathname false false '("options")
+                                        false false false)
+                         (pathname-directory-path
+                          (string->pathname
+                           ((ucode-primitive microcode-tables-filename)))))))    (if (not entry)
+       (error "Unknown option name" name))
+    (for-each
+     (lambda (descriptor)
+       (let ((environment
+             (package/environment (find-package (car descriptor)))))
+        (for-each (lambda (filename)
+                    (load (merge-pathnames (string->pathname filename)
+                                           pathname)
+                          environment))
+                  (cddr descriptor))
+        (eval (cadr descriptor) environment)))
+     (cdr entry))
+    name))
+
+(define options
+  '((FORMAT ((RUNTIME FORMAT) (INITIALIZE-PACKAGE!) "format"))))
\ No newline at end of file
index e07499e2e0e6876532bd63cfb25a70c77489cef7..2e90ab3b05ecdf409be4c5fee38adc3b28d89820 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.9 1988/06/30 22:22:42 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.10 1988/07/07 16:12:23 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -495,6 +495,15 @@ MIT in each case. |#
          open-output-file)
   (initialization (initialize-package!)))
 
+(define-package (runtime format)
+  (file-case options
+    ((load) "format")
+    (else))
+  (parent ())
+  (export ()
+         format)
+  (initialization (initialize-package!)))
+
 (define-package (runtime garbage-collector)
   (files "gc")
   (parent ())
@@ -934,6 +943,12 @@ MIT in each case. |#
   (export ()
          number->string)
   (initialization (initialize-package!)))
+(define-package (runtime options)
+  (files "option")
+  (parent ())
+  (export ()
+         load-option))
+
 (define-package (runtime output-port)
   (files "output")
   (parent ())
index 2f5f68755f56aacea6b44bbab0559fa207d7e5e2..04f7431e4f9df526c1ae5aaf06b8b0e7a1e19ac6 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/version.scm,v 14.8 1988/06/30 22:23:49 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/version.scm,v 14.9 1988/07/07 16:13:39 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -45,7 +45,7 @@ MIT in each case. |#
                     '()))
   (add-system! microcode-system)
   (add-event-receiver! event:after-restore snarf-microcode-version!)
-  (add-identification! "Runtime" 14 8))
+  (add-identification! "Runtime" 14 9))
 
 (define microcode-system)
 
index e25fccb4b3fee90d2c2f03ad65f460fe4891dc09..33c5f6957876154a67c0010b1933dad5b00c4ae9 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/make.scm,v 14.3 1988/06/16 06:32:27 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/make.scm,v 14.4 1988/07/07 16:13:22 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -291,7 +291,8 @@ MIT in each case. |#
                (string=? filename "gc")))
        (eval (purify (fasload (map-filename filename))) environment)))
  `((SORT-TYPE . MERGE-SORT)
-   (OS-TYPE . ,(string->symbol (string-upcase os-name-string)))))
+   (OS-TYPE . ,(string->symbol (string-upcase os-name-string)))
+   (OPTIONS . NO-LOAD)))
 \f
 ;; Funny stuff is done.  Rest of sequence is standardized.
 (package-initialization-sequence
index 76247b0861c6a243d54761656ec7aa5c73c15123..b8db1af71170508b4390f49691cc04b067681586 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.9 1988/06/30 22:22:42 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.10 1988/07/07 16:12:23 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -495,6 +495,15 @@ MIT in each case. |#
          open-output-file)
   (initialization (initialize-package!)))
 
+(define-package (runtime format)
+  (file-case options
+    ((load) "format")
+    (else))
+  (parent ())
+  (export ()
+         format)
+  (initialization (initialize-package!)))
+
 (define-package (runtime garbage-collector)
   (files "gc")
   (parent ())
@@ -934,6 +943,12 @@ MIT in each case. |#
   (export ()
          number->string)
   (initialization (initialize-package!)))
+(define-package (runtime options)
+  (files "option")
+  (parent ())
+  (export ()
+         load-option))
+
 (define-package (runtime output-port)
   (files "output")
   (parent ())