Fix make-array transforms.
[sbcl.git] / build-order.lisp-expr
index 79840f4..afc2770 100644 (file)
  ("src/code/parse-defmacro")   ; on host for PARSE-DEFMACRO
  ("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/early-alieneval")  ; for funs and vars needed at build and run time
 
  ("src/code/specializable-array")
 
  ;; accessors.)
  ("src/code/type-class")
 
- ("src/code/early-pcounter")
- ("src/code/pcounter" :not-host)
-
  ("src/code/ansi-stream" :not-host)
 
  ("src/code/sysmacs" :not-host)
  ;; This needs DEFINE-ALIEN-ROUTINE from target-alieneval.
  ("src/code/misc-aliens" :not-host)
 
+ ("src/compiler/generic/vm-array")
  ("src/code/array"         :not-host)
  ("src/code/early-float"   :not-host)
  ("src/code/target-sxhash" :not-host) ; needs most-fooative-foo-float constants
  ;; in class.lisp.
  ("src/code/condition" :not-host)
 
- ("src/compiler/generic/vm-array")
  ("src/compiler/generic/primtype")
 
  ;; the implementation of the compiler-affecting part of forms like
  ;; defining types
  ("src/compiler/parse-lambda-list")
 
- ;; 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)
+ ("src/code/host-alieneval")
 
  ;; can't be done until definition of e.g. DEFINE-ALIEN-TYPE-CLASS in
  ;; host-alieneval.lisp
- ("src/code/host-c-call" #+clisp :ignore-failure-p)
+ ("src/code/host-c-call")
 
  ;; SB!XC:DEFTYPE is needed in order to compile late-type
  ;; in the host Common Lisp, and in order to run, it needs
  ;; This has ASSEMBLY-UNIT-related stuff needed by core.lisp.
  ("src/compiler/early-assem")
 
+ ;; This has the BARRIER stuff that the threading support needs.
+ ("src/code/barrier")
+
  ;; 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
  ("src/code/load")
 
  #!+linkage-table ("src/code/linkage-table" :not-host)
- #!+(and os-provides-dlopen (not win32)) ("src/code/foreign-load" :not-host)
+ #!+os-provides-dlopen ("src/code/foreign-load" :not-host)
+ #!+(and os-provides-dlopen (not win32)) ("src/code/unix-foreign-load" :not-host)
  #!+(and os-provides-dlopen win32) ("src/code/win32-foreign-load" :not-host)
  ("src/code/foreign")
 
 
  ("src/compiler/trace-table") ; needs EMIT-LABEL macro from compiler/assem.lisp
 
+ ("src/code/debug-info")
  ;; Compiling this requires fop definitions from code/fop.lisp and
  ;; trace table definitions from compiler/trace-table.lisp.
  ("src/compiler/dump")
  ("src/compiler/float-tran")
  ("src/compiler/saptran")
  ("src/compiler/srctran")
+ ("src/compiler/bitops-derive-type")
  ("src/compiler/generic/vm-tran")
  ("src/compiler/locall")
  ("src/compiler/dfo")
  ("src/compiler/tn")
  ("src/compiler/life")
 
- ("src/code/debug-info")
-
  ("src/compiler/debug-dump")
  ("src/compiler/generic/utils")
  ("src/compiler/fopcompile")
 
  ("src/compiler/target/move")
  ("src/compiler/target/float")
+ #!+sb-simd-pack
+ ("src/compiler/target/simd-pack")
  ("src/compiler/target/sap")
  ("src/compiler/target/system")
  ("src/compiler/target/char")
   ;; x compilation, for now we blithely ignore them and press on to more
   ;; 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)
+  #!+(or ppc) :ignore-failure-p)
  ("src/code/cross-modular"  :not-target)
- ("src/compiler/target/subprim")
 
+ ("src/compiler/target/type-vops")
+
+ ("src/compiler/target/subprim")
  ("src/compiler/target/debug")
  ;; src/compiler/sparc/c-call contains a deftransform for
  ;; %ALIEN-FUNCALL -- CSR
  ("src/compiler/generic/array")
  ("src/compiler/target/pred")
 
- ("src/compiler/target/type-vops")
  ("src/compiler/generic/late-type-vops")
 
  ;; KLUDGE: The assembly files need to be compiled twice: once as
- ;; normal lisp files, and once by sb-c:assemble-file.  We play some
- ;; symlink games to make sure we don't scribble over anything we
- ;; shouldn't, but these are actually the same files:
-
- ("src/compiler/assembly/target/assem-rtns")
- ("src/compiler/assembly/target/array")
- ("src/compiler/assembly/target/arith")
- ("src/compiler/assembly/target/alloc")
+ ;; normal lisp files, and once by sb-c:assemble-file.  We use a
+ ;; different suffix / "file type" for the :assem versions to make
+ ;; sure we don't scribble over anything we shouldn't.
+
+ ("src/assembly/target/assem-rtns")
+ ("src/assembly/target/array")
+ ("src/assembly/target/arith")
+ ("src/assembly/target/alloc")
  ("src/assembly/target/assem-rtns" :assem :not-host)
  ("src/assembly/target/array"      :assem :not-host)
  ("src/assembly/target/arith"      :assem :not-host)
 
  ("src/compiler/copyprop")
  ("src/compiler/represent")
+ ("src/compiler/ir2opt")
  ("src/compiler/pack")
+ ("src/compiler/pack-iterative")
  ("src/compiler/codegen")
  ("src/compiler/debug")
 
  ("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/bignum-random"     :not-host) ; needs "code/random" and
+                                          ;   "code/bignum"
  ("src/code/target-hash-table" :not-host) ; needs "code/hash-table"
  ("src/code/reader"            :not-host) ; needs "code/readtable"
  ("src/code/target-stream"     :not-host) ; needs WHITESPACEP from "code/reader"
  ("src/code/target-pathname"   :not-host) ; needs "code/pathname"
- ("src/code/unix-pathname"      :not-host)
- ("src/code/win32-pathname"     :not-host)
+ #!-win32
+ ("src/code/unix-pathname"     :not-host)
+ #!+win32
+ ("src/code/win32-pathname"    :not-host)
  ("src/code/filesys"           :not-host) ; needs HOST from "code/pathname"
 
  ("src/code/save"              :not-host) ; uses the definition of PATHNAME
  ("src/code/debug" :not-host)
 
  ("src/code/octets" :not-host)
+ ("src/code/external-formats/enc-basic" :not-host)
+ ("src/code/external-formats/enc-ebcdic" :not-host)
  #!+sb-unicode
  ("src/code/external-formats/enc-cyr" :not-host)
  #!+sb-unicode
  #!+sb-unicode
  ("src/code/external-formats/enc-win" :not-host)
  #!+sb-unicode
+ ("src/code/external-formats/enc-mac" :not-host)
+ #!+sb-unicode
  ("src/code/external-formats/mb-util" :not-host)
  #!+sb-unicode
  ("src/code/external-formats/enc-cn-tbl" :not-host)
  #!+sb-unicode
  ("src/code/external-formats/enc-jpn" :not-host)
  #!+sb-unicode
- ("src/code/external-formats/ucs-2" :not-host)
+ ("src/code/external-formats/enc-ucs" :not-host)
+ #!+sb-unicode
+ ("src/code/external-formats/enc-utf" :not-host)
 
  ;; The code here can't be compiled until CONDITION and
  ;; DEFINE-CONDITION are defined and SB!DEBUG:*STACK-TOP-HINT* is
  ("src/code/macros")
  ("src/code/loop")
  ("src/code/late-setf")
+ ("src/code/cas")
+ ("src/code/late-cas")
 
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;; other target-code-building stuff which can't be processed until