c2017d3a0b6c819750464ed81b44937a26de71e1
[sbcl.git] / src / cold / compile-cold-sbcl.lisp
1 ;;;; Compile the fundamental system sources (not CLOS, and possibly
2 ;;;; not some other warm-load-only stuff like DESCRIBE) to produce
3 ;;;; object files. Also set *TARGET-OBJECT-FILES* to all of their
4 ;;;; names.
5
6 ;;;; This software is part of the SBCL system. See the README file for
7 ;;;; more information.
8 ;;;;
9 ;;;; This software is derived from the CMU CL system, which was
10 ;;;; written at Carnegie Mellon University and released into the
11 ;;;; public domain. The software is in the public domain and is
12 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
13 ;;;; files for more information.
14
15 (in-package "SB-COLD")
16
17 (defvar *target-object-file-names*)
18
19 (let ((reversed-target-object-file-names nil))
20   (do-stems-and-flags (stem flags)
21     (unless (position :not-target flags)
22       (push (target-compile-stem stem
23                                 :trace-file (find :trace-file flags)
24                                  :assem-p (find :assem flags)
25                                  :ignore-failure-p (find :ignore-failure-p
26                                                          flags))
27             reversed-target-object-file-names)
28       #!+sb-show (warn-when-cl-snapshot-diff *cl-snapshot*)))
29   (setf *target-object-file-names*
30         (nreverse reversed-target-object-file-names)))