Commit 18151398 authored by ram's avatar ram
Browse files

Checked in many changes from William's play area.

parent 2032e050
;;; -*- Package: User; Log: code.log -*-
;;;
;;; **********************************************************************
;;; This code was written as part of the CMU Common Lisp project at
;;; Carnegie Mellon University, and has been placed in the public domain.
;;; If you want to use this code or any part of CMU Common Lisp, please contact
;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/worldcom.lisp,v 1.14 1991/02/08 13:36:47 ram Exp $")
;;;
;;; This code was written as part of the Spice Lisp project at
;;; Carnegie-Mellon University, and has been placed in the public domain.
;;; Spice Lisp is currently incomplete and under active development.
;;; If you want to use this code or any part of Spice Lisp, please contact
;;; Scott Fahlman (FAHLMAN@CMUC).
;;; **********************************************************************
(in-package "USER")
(setf *new-compile* t)
(c::%proclaim '(optimize (speed 2) (space 2) (c::brevity 2)))
(with-compiler-log-file ("target:compile-lisp.log")
;;; these guys need to be first.
(let ((*features*
(cons (intern (c:backend-name c:*backend*)
(find-package "KEYWORD"))
(remove-if #'(lambda (x)
(member x '(:pmax :sparc)))
*features*))))
(comf "target:code/globals" :always-once t) ; For global variables.
(comf "target:code/struct" :always-once t) ; For structures.
;;; these guys need to be first.
(comf "target:code/struct") ; For structures.
;;; Assembly files.
(comf "target:assembly/assem-rtns" :assem t)
(comf "target:assembly/array" :assem t)
(comf "target:assembly/bit-bash" :assem t)
(when (string= (c:backend-name c:*backend*) "PMAX")
(comf "target:assembly/mips/assem-rtns" :assem t)
(comf "target:assembly/mips/array" :assem t)
(comf "target:assembly/mips/bit-bash" :assem t)
(comf "target:assembly/mips/arith" :assem t)
(comf "target:assembly/mips/alloc" :assem t))
(comf "target:compiler/type")
(comf "target:compiler/mips/vm-type")
(comf "target:compiler/type-init")
(when (string= (c:backend-name c:*backend*) "SPARC")
(comf "target:assembly/sparc/assem-rtns" :assem t)
(comf "target:assembly/sparc/array" :assem t)
(comf "target:assembly/sparc/bit-bash" :assem t)
(comf "target:assembly/sparc/arith" :assem t)
(comf "target:assembly/sparc/alloc" :assem t))
(comf "target:code/serve-event")
;;; these guys can supposedly come in any order, but not really.
;;; some are put at the end so macros don't run interpreted and stuff.
(comf "target:code/kernel")
(comf "target:code/lispinit")
(comf "target:code/fdefinition")
(comf "target:code/error")
(comf "target:code/salterror")
(comf "target:compiler/type")
(comf "target:compiler/generic/vm-type")
(comf "target:compiler/type-init")
(comf "target:code/pred")
(comf "target:code/alieneval")
(comf "target:code/stream")
(comf "target:code/arith")
(comf "target:code/array")
(comf "target:code/backq")
(comf "target:code/c-call")
(comf "target:code/char")
(comf "target:code/bit-bash")
(comf "target:code/array")
(comf "target:code/hash")
(comf "target:code/list")
;(comf "target:code/clx-ext")
(comf "target:code/commandline")
(comf "target:code/eval")
(comf "target:code/debug")
(comf "target:code/trace")
(comf "target:code/seq") ; seq must come after list
(comf "target:code/string")
(comf "target:code/mipsstrops")
(comf "target:code/machdef")
(when (string= (c:backend-name c:*backend*) "PMAX")
(comf "target:code/pmax-machdef")
(comf "target:code/pmax-vm")
(comf "target:code/pmax-disassem"))
(when (string= (c:backend-name c:*backend*) "SPARC")
(comf "target:code/sparc-machdef")
(comf "target:code/sparc-vm"))
(comf "target:code/symbol")
(comf "target:code/bignum")
(comf "target:code/numbers")
(comf "target:code/float-trap")
(comf "target:code/float")
(comf "target:code/irrat")
(comf "target:code/type-boot")
(comf "target:compiler/proclaim")
(comf "target:code/char")
(comf "target:code/misc")
(comf "target:code/extensions")
(comf "target:code/commandline")
(comf "target:code/gc")
(comf "target:code/purify")
(comf "target:code/save")
(comf "target:code/stream")
(comf "target:code/print")
(comf "target:code/pprint")
(comf "target:code/format")
(comf "target:code/package")
(comf "target:code/reader")
(comf "target:code/sharpm")
(comf "target:code/backq")
(comf "target:code/syscall")
(comf "target:code/vm")
(comf "target:code/serve-event")
(pushnew :serve-event *features*)
(comf "target:code/fd-stream")
(comf "target:code/fdefinition")
(comf "target:code/filesys")
(comf "target:code/format")
(comf "target:code/hash")
;(comf "target:code/lfloatcon")
(comf "target:code/search-list")
(comf "target:code/load")
;(comf "target:code/miscop")
(comf "target:code/package")
(comf "target:code/mipsstrops")
(comf "target:code/pred")
(comf "target:code/print")
(comf "target:code/provide")
(comf "target:code/eval")
(comf "target:code/signal")
(comf "target:code/interr")
(comf "target:code/debug-info")
(comf "target:code/debug-int")
(comf "target:code/debug")
(comf "target:code/query")
(comf "target:code/rand")
(comf "target:code/reader")
(comf "target:code/mipsnum")
(comf "target:code/salterror")
;(comf "target:code/save")
(comf "target:code/search-list")
(comf "target:code/seq")
(comf "target:code/sharpm")
(comf "target:code/trace")
(comf "target:code/sort")
(comf "target:code/type-boot")
(comf "target:code/run-program")
;(comf "target:code/spirrat")
;(comf "target:code/xp")
;(comf "target:code/xp-patch")
;(comf "target:code/pprint")
(comf "target:code/string")
(comf "target:code/symbol")
(comf "target:code/syscall")
(comf "target:code/sysmacs")
(comf "target:code/time")
;(comf "target:code/foreign")
(comf "target:compiler/proclaim")
(comf "target:compiler/knownfun")
(comf "target:code/debug-info")
(comf "target:code/weak")
;;; Later so that miscellaneous structures are defined (not crucial, but nice.)
(comf "target:code/describe")
;(comf "target:code/inspect")
(comf "target:code/tty-inspect")
;(comf "target:code/purify")
;(comf "target:code/gc")
(comf "target:code/misc")
(comf "target:code/format-time")
(comf "target:code/parse-time")
(comf "target:code/run-program")
(comf "target:code/loop")
;;; XP won't cross-compile.
#+new-compiler
(comf "target:code/xp")
#+clx
(comf "target:code/clx-ext")
#|
These need serious work.
(comf "target:code/lfloatcon")
|#
(comf "target:code/foreign")
(comf "target:code/internet")
(comf "target:code/wire")
(comf "target:code/remote")
;(comf "target:code/constants")
;;; Compile basic macros that we assume are already in the compilation
;;; environment. We inhibit compile-time definition to prevent these functions
;;; from becoming interpreted. In some cases, this is necessary for
......@@ -116,9 +173,12 @@
(let ((c:*compile-time-define-macros* nil))
(comf "target:code/defstruct")
(comf "target:code/defmacro")
(comf "target:code/macros")
(comf "target:code/defrecord")
(comf "target:compiler/globaldb"))
(comf "target:compiler/globaldb")
;; We can't compile anything after macros, 'cause it breaks the running lisp.
(comf "target:code/macros"))
); let
); with-compiler-log-file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment