X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=build-order.lisp-expr;h=86e1c980f638c6759296ff7509b452cad832c2ca;hb=2e91e29892268b2c7e5ab557e8192fa03bce68f2;hp=d8f8445655906a142b7582e925e1397c77f993af;hpb=68fd2d2dd6f265669a8957accd8a33e62786a97e;p=sbcl.git diff --git a/build-order.lisp-expr b/build-order.lisp-expr index d8f8445..86e1c98 100644 --- a/build-order.lisp-expr +++ b/build-order.lisp-expr @@ -42,6 +42,11 @@ ;; leaking into target SBCL code. ("src/code/backq") + ;; It's difficult to be too early with a DECLAIM SPECIAL (or DEFVAR + ;; or whatever) thanks to the sullenly-do-the-wrong-thing semantics + ;; of CL special binding when the variable is undeclared. + ("src/code/globals" :not-host) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; various DEFSETFs and/or other DEFMACROish things, defined as early as ;; possible so we don't need to fiddle with any subtleties of defining them @@ -60,9 +65,11 @@ ;;; supplied by basic machinery ("src/code/cross-misc" :not-target) + ("src/code/cross-byte" :not-target) ("src/code/cross-float" :not-target) ("src/code/cross-io" :not-target) ("src/code/cross-sap" :not-target) + ("src/code/cross-make-load-form" :not-target) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; stuff needed early both in cross-compilation host and in target Lisp @@ -72,10 +79,11 @@ ("src/code/defbangtype") ("src/code/defbangmacro") + ("src/code/defbangconstant") ("src/code/primordial-extensions") - ;; for various constants e.g. SB!VM:*TARGET-MOST-POSITIVE-FIXNUM* and + ;; for various constants e.g. SB!XC:MOST-POSITIVE-FIXNUM and ;; SB!VM:N-LOWTAG-BITS, needed by "early-objdef" and others ("src/compiler/generic/early-vm") ("src/compiler/generic/early-objdef") @@ -86,6 +94,7 @@ ("src/code/parse-defmacro") ; on host for PARSE-DEFMACRO ("src/code/early-extensions") ; on host for COLLECT, SYMBOLICATE, etc. ("src/compiler/deftype") ; on host for SB!XC:DEFTYPE + ("src/compiler/defconstant") ("src/code/early-alieneval") ; for vars needed both at build and run time ("src/code/specializable-array") @@ -123,6 +132,7 @@ ;; accessors.) ("src/code/type-class") + ("src/code/early-pcounter") ("src/code/pcounter" :not-host) ("src/code/ansi-stream" :not-host) @@ -142,7 +152,6 @@ ;; and stuff." ;; Dunno exactly what this meant or whether it still holds. -- WHN 19990803 ;; FIXME: more informative and up-to-date comment? - ("src/code/globals" :not-host) ("src/code/kernel" :not-host) ("src/code/toplevel" :not-host) ("src/code/cold-error" :not-host) @@ -256,6 +265,8 @@ ("src/code/stubs" :not-host) + ("src/code/exhaust" :not-host) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; compiler (and a few miscellaneous files whose dependencies make it ;;; convenient to stick them here) @@ -291,6 +302,7 @@ ("src/compiler/globaldb") ("src/compiler/info-functions") + ("src/code/force-delayed-defbangconstants") ("src/code/defmacro") ("src/code/force-delayed-defbangmacros") @@ -423,23 +435,7 @@ ;; Compiling this requires fop definitions from code/fop.lisp and ;; trace table definitions from compiler/trace-table.lisp. - ("src/compiler/dump" - ;; FIXME: When building sbcl-0.pre7.14.flaky4.5 under sbcl-0.6.12.1 - ;; with :SB-SHOW on the target *FEATURES* list, cross-compilation of - ;; this file gives a WARNING in HEXSTR, - ;; Lisp error during constant folding: - ;; Argument X is not a REAL: NIL - ;; This seems to come from DEF!MACRO %WITH-ARRAY-DATA-MACRO code - ;; which looks like - ;; (cond (,end - ;; (unless (or ,unsafe? (<= ,end ,size)) - ;; ..)) - ;; ..) - ;; where the system is trying to constant-fold the <= form when the - ;; ,END binding is known to be NIL at compile time. Since the <= form - ;; is unreachable in that case, this shouldn't be signalling a WARNING; - ;; but as long as it is, we have to ignore it in order to go on. - :ignore-failure-p) + ("src/compiler/dump") ("src/compiler/main") ; needs DEFSTRUCT FASL-OUTPUT from dump.lisp ("src/compiler/target-main" :not-host) @@ -449,10 +445,6 @@ ("src/compiler/ir1report") ("src/compiler/ir1opt") - ;; Compiling this file requires the macros SB!ASSEM:EMIT-LABEL and - ;; SB!ASSEM:EMIT-POST-IT, defined in assem.lisp. - ("src/compiler/late-vmdef") - ("src/compiler/ir1final") ("src/compiler/array-tran") ("src/compiler/seqtran") @@ -476,6 +468,12 @@ ("src/compiler/generic/utils") ("src/assembly/assemfile") + ;; Compiling this file requires the macros SB!ASSEM:EMIT-LABEL and + ;; SB!ASSEM:EMIT-POST-IT, defined in assem.lisp, and also possibly + ;; the definition of the LOCATION-INFO structure (if structures in + ;; the host lisp have setf expanders rather than setf functions). + ("src/compiler/late-vmdef") + ("src/compiler/fixup") ; for DEFSTRUCT FIXUP, used by insts.lisp ("src/compiler/target/insts") @@ -509,7 +507,8 @@ ("src/compiler/target/nlx") ("src/compiler/target/show") ("src/compiler/target/array" - ;; KLUDGE: Compiling this file raises alarming warnings of the form + ;; KLUDGE: Compiling this file for X86 raises alarming warnings of + ;; the form ;; Argument FOO to VOP CHECK-BOUND has SC restriction ;; DESCRIPTOR-REG which is not allowed by the operand type: ;; (:OR POSITIVE-FIXNUM) @@ -519,7 +518,8 @@ ;; these warnings are severe enough that they would ordinarily abort ;; compilation, for now we blithely ignore them and press on to more ;; pressing problems. Someday, though, it would be nice to figure out - ;; what the problem is and fix it.. -- WHN 19990323 + ;; what the problem is and fix it. (See the comments in + ;; src/compiler/x86/array for a candidate patch.) -- WHN 19990323 :ignore-failure-p) ("src/compiler/target/pred") ("src/compiler/target/type-vops") @@ -572,7 +572,7 @@ ; "compiler/generic/core" ("src/code/eval" :not-host) ; uses INFO, wants compiler macro - ("src/code/target-sap" :not-host) ; uses SAP-INT-TYPE + ("src/code/target-sap" :not-host) ; uses SAP-INT type ("src/code/target-package" :not-host) ; needs "code/package" ("src/code/target-random" :not-host) ; needs "code/random" ("src/code/target-hash-table" :not-host) ; needs "code/hash-table" @@ -600,27 +600,12 @@ ("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/compiler/target/sanctify" :not-host) + ;; FIXME: Does this really need stuff from compiler/dump.lisp? ("src/compiler/target-dump" :not-host) ; needs stuff from compiler/dump.lisp - ("src/code/cold-init" :not-host ; needs (SETF EXTERN-ALIEN) macroexpansion - ;; FIXME: When building sbcl-0.pre7.14.flaky4.5 under sbcl-0.6.12.1 - ;; with :SB-SHOW on the target *FEATURES* list, cross-compilation of - ;; this file gives a WARNING in HEXSTR, - ;; Lisp error during constant folding: - ;; Argument X is not a REAL: NIL - ;; This seems to come from DEF!MACRO %WITH-ARRAY-DATA-MACRO code - ;; which looks like - ;; (cond (,end - ;; (unless (or ,unsafe? (<= ,end ,size)) - ;; ..)) - ;; ..) - ;; where the system is trying to constant-fold the <= form when the - ;; ,END binding is known to be NIL at compile time. Since the <= form - ;; is unreachable in that case, this shouldn't be signalling a WARNING; - ;; but as long as it is, we have to ignore it in order to go on. - :ignore-failure-p) + ("src/code/cold-init" :not-host) ; needs (SETF EXTERN-ALIEN) macroexpansion ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; target macros and DECLAIMs installed at build-the-cross-compiler time