;;; instead, so that we could do automated incremental recompilation.
;;; But the dependencies are varied and subtle, and it'd be extremely
;;; difficult to extract them automatically, and it'd be extremely
;;; instead, so that we could do automated incremental recompilation.
;;; But the dependencies are varied and subtle, and it'd be extremely
;;; difficult to extract them automatically, and it'd be extremely
;;; extract them. (It would be nice to fix this someday. The most
;;; feasible approach that I can think of would be to make the
;;; dependencies work on a package level, not an individual file
;;; extract them. (It would be nice to fix this someday. The most
;;; feasible approach that I can think of would be to make the
;;; dependencies work on a package level, not an individual file
("src/code/cross-sap" :not-target)
("src/code/cross-thread" :not-target)
("src/code/cross-make-load-form" :not-target)
("src/code/cross-sap" :not-target)
("src/code/cross-thread" :not-target)
("src/code/cross-make-load-form" :not-target)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; stuff needed early both in cross-compilation host and in target Lisp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; stuff needed early both in cross-compilation host and in target Lisp
;; mostly needed by stuff from comcom, but also used by "x86-vm"
("src/code/debug-var-io")
;; mostly needed by stuff from comcom, but also used by "x86-vm"
("src/code/debug-var-io")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; basic machinery for the target Lisp. Note that although most of these
;;; files are flagged :NOT-HOST, a few might not be.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; basic machinery for the target Lisp. Note that although most of these
;;; files are flagged :NOT-HOST, a few might not be.
("src/code/early-defstructs" :not-host) ; gotta-be-first DEFSTRUCTs
("src/code/defbangstruct")
("src/code/unportable-float")
("src/code/early-defstructs" :not-host) ; gotta-be-first DEFSTRUCTs
("src/code/defbangstruct")
("src/code/unportable-float")
("src/code/funutils" :not-host)
;; This needs DEF!STRUCT, and is itself needed early so that structure
("src/code/funutils" :not-host)
;; This needs DEF!STRUCT, and is itself needed early so that structure
("src/code/toplevel" :not-host)
("src/code/cold-error" :not-host)
("src/code/fdefinition" :not-host)
("src/code/toplevel" :not-host)
("src/code/cold-error" :not-host)
("src/code/fdefinition" :not-host)
;; available for compilation of "code/fdefinition".
;; In classic CMU CL, code/type was here. I've since split that into
;; available for compilation of "code/fdefinition".
;; In classic CMU CL, code/type was here. I've since split that into
;; KLUDGE: I'd prefer to have this done with a "code/target" softlink
;; instead of a bunch of reader macros. -- WHN 19990308
#!+sparc ("src/code/sparc-vm" :not-host)
;; KLUDGE: I'd prefer to have this done with a "code/target" softlink
;; instead of a bunch of reader macros. -- WHN 19990308
#!+sparc ("src/code/sparc-vm" :not-host)
;; The following two files trigger function/macro redefinition
;; warnings in clisp during make-host-2; as a workaround, we ignore
;; the failure values from COMPILE-FILE under clisp.
;; The following two files trigger function/macro redefinition
;; warnings in clisp during make-host-2; as a workaround, we ignore
;; the failure values from COMPILE-FILE under clisp.
;; for DEFSTRUCT ALIEN-TYPE, needed by host-type.lisp
("src/code/host-alieneval" #+clisp :ignore-failure-p)
;; for DEFSTRUCT ALIEN-TYPE, needed by host-type.lisp
("src/code/host-alieneval" #+clisp :ignore-failure-p)
;; "code/late-type", and SB!XC:TYPEP, defined in "code/cross-type",
;; and SPECIALIZE-ARRAY-TYPE, defined in "compiler/generic/vm-type",
;; and SB!XC:PROCLAIM, defined in "src/compiler/proclaim"
;; "code/late-type", and SB!XC:TYPEP, defined in "code/cross-type",
;; and SPECIALIZE-ARRAY-TYPE, defined in "compiler/generic/vm-type",
;; and SB!XC:PROCLAIM, defined in "src/compiler/proclaim"
;; core.lisp contains DEFSTRUCT CORE-OBJECT, and "compiler/main.lisp"
;; does lots of (TYPEP FOO 'CORE-OBJECT), so it's nice to compile this
;; before "compiler/main.lisp" so that those can be coded efficiently
;; (and so that they don't cause lots of annoying compiler warnings
;; core.lisp contains DEFSTRUCT CORE-OBJECT, and "compiler/main.lisp"
;; does lots of (TYPEP FOO 'CORE-OBJECT), so it's nice to compile this
;; before "compiler/main.lisp" so that those can be coded efficiently
;; (and so that they don't cause lots of annoying compiler warnings
;; x pressing problems. Someday, though, it would be nice to figure out
;; x what the problem is and fix it.
#!+(or ppc sparc) :ignore-failure-p)
;; x pressing problems. Someday, though, it would be nice to figure out
;; x what the problem is and fix it.
#!+(or ppc sparc) :ignore-failure-p)
("src/code/save" :not-host) ; uses the definition of PATHNAME
; from "code/pathname"
("src/code/sharpm" :not-host) ; uses stuff from "code/reader"
("src/code/save" :not-host) ; uses the definition of PATHNAME
; from "code/pathname"
("src/code/sharpm" :not-host) ; uses stuff from "code/reader"
;; defines SB!DI:DO-DEBUG-FUN-BLOCKS, needed by target-disassem.lisp
("src/code/gc" :not-host)
("src/code/purify" :not-host)
;; defines SB!DI:DO-DEBUG-FUN-BLOCKS, needed by target-disassem.lisp
("src/code/gc" :not-host)
("src/code/purify" :not-host)
;; The code here can't be compiled until CONDITION and
;; DEFINE-CONDITION are defined and SB!DEBUG:*STACK-TOP-HINT* is
;; declared special.
;; The code here can't be compiled until CONDITION and
;; DEFINE-CONDITION are defined and SB!DEBUG:*STACK-TOP-HINT* is
;; declared special.
("src/code/bit-bash" :not-host) ; needs %NEGATE from assembly/target/arith
("src/code/target-load" :not-host) ; needs special vars from code/load.lisp
("src/code/bit-bash" :not-host) ; needs %NEGATE from assembly/target/arith
("src/code/target-load" :not-host) ; needs special vars from code/load.lisp
;; FIXME: Does this really need stuff from compiler/dump.lisp?
("src/compiler/target-dump" :not-host) ; needs stuff from compiler/dump.lisp
;; FIXME: Does this really need stuff from compiler/dump.lisp?
("src/compiler/target-dump" :not-host) ; needs stuff from compiler/dump.lisp
;; FIXME: here? earlier? can probably be as late as possible. Also
;; maybe call it FORCE-DELAYED-PROCLAIMS?
("src/compiler/late-proclaim")
;; FIXME: here? earlier? can probably be as late as possible. Also
;; maybe call it FORCE-DELAYED-PROCLAIMS?
("src/compiler/late-proclaim")