
;;; @configure_input@

(defconstant +cmp-module-files+
  '("src:cmp;cmppackage.lsp"
    "src:cmp;cmpglobals.lsp"
    "build:cmp;cmpdefs.lsp"
    "src:cmp;cmputil.lsp"
    "src:cmp;cmpcond.lsp"
    "src:cmp;cmptype-arith.lsp"
    "src:cmp;cmppolicy.lsp"
    ;; Internal representation
    "src:cmp;cmprefs.lsp"
    "src:cmp;cmplocs.lsp"
    ;; Environment
    "src:cmp;cmpenv-api.lsp"
    "src:cmp;cmpenv-var.lsp"
    "src:cmp;cmpenv-fun.lsp"
    "src:cmp;cmpenv-optimize.lsp"
    "src:cmp;cmpenv-declare.lsp"
    "src:cmp;cmpenv-proclaim.lsp"
    "src:cmp;cmpenv-declaim.lsp"
    ;; Internal representation
    "src:cmp;cmptypes.lsp"
    "src:cmp;cmptables.lsp"
    "src:cmp;cmpform.lsp"
    "src:cmp;cmpvar.lsp"
    "src:cmp;cmpfun.lsp"
    ;; Types
    "src:cmp;cmptype-prop.lsp"
    "src:cmp;cmptype.lsp"
    "src:cmp;cmptype-assert.lsp"
    ;; AST building pass
    "src:cmp;cmppass1-data.lsp"
    "src:cmp;cmppass1-top.lsp"
    "src:cmp;cmppass1-special.lsp"
    "src:cmp;cmppass1-cont.lsp"
    "src:cmp;cmppass1-eval.lsp"
    "src:cmp;cmppass1-call.lsp"
    "src:cmp;cmppass1-var.lsp"
    "src:cmp;cmppass1-fun.lsp"
    "src:cmp;cmppass1-ffi.lsp"
    ;; Type propagation pass
    "src:cmp;cmpprop.lsp"
    "src:cmp;cmpprop-num.lsp"
    "src:cmp;cmpprop-array.lsp"
    ;; C/C++ backend
    "src:cmp;cmpbackend-cxx;cmpc-util.lsp"
    "src:cmp;cmpbackend-cxx;cmpc-mach.lsp"
    "src:cmp;cmpbackend-cxx;cmpc-wt.lsp"
    "src:cmp;cmpbackend-cxx;cmpc-arg-inl.lsp"
    "src:cmp;cmpbackend-cxx;cmpc-fun-inl.lsp"
    ;; Inliner definitions
    "src:cmp;cmpbackend-cxx;cmpc-inl-lspfun.lsp"
    "src:cmp;cmpbackend-cxx;cmpc-inl-sysfun.lsp"
    "src:cmp;cmpbackend-cxx;cmpc-opt-num.lsp"
    "src:cmp;cmpbackend-cxx;cmpc-opt-ct.lsp"
    "src:cmp;cmpbackend-cxx;cmpc-opt-printer.lsp"
    ;; Code generation pass
    "src:cmp;cmpbackend-cxx;cmppass2-data.lsp"
    "src:cmp;cmpbackend-cxx;cmppass2-top.lsp"
    "src:cmp;cmpbackend-cxx;cmppass2-special.lsp"
    "src:cmp;cmpbackend-cxx;cmppass2-exit.lsp"
    "src:cmp;cmpbackend-cxx;cmppass2-cont.lsp"
    "src:cmp;cmpbackend-cxx;cmppass2-eval.lsp"
    "src:cmp;cmpbackend-cxx;cmppass2-call.lsp"
    "src:cmp;cmpbackend-cxx;cmppass2-var.lsp"
    "src:cmp;cmpbackend-cxx;cmppass2-loc.lsp"
    "src:cmp;cmpbackend-cxx;cmppass2-fun.lsp"
    "src:cmp;cmpbackend-cxx;cmppass2-ffi.lsp"
    "src:cmp;cmpbackend-cxx;cmpbackend-cxx.lsp"
    ;; Optimizations
    "src:cmp;cmpmap.lsp"
    "src:cmp;cmpname.lsp"
    "src:cmp;cmpopt.lsp"
    "src:cmp;cmpopt-num.lsp"
    "src:cmp;cmpopt-clos.lsp"
    "src:cmp;cmpopt-constant.lsp"
    "src:cmp;cmpopt-cons.lsp"
    "src:cmp;cmpopt-sequence.lsp"
    "src:cmp;cmpopt-type.lsp"
    "src:cmp;cmpclos.lsp"               ;unused
    "src:cmp;cmpstructures.lsp"         ;unused
    "src:cmp;cmparray.lsp"
    ;; Other
    "src:cmp;cmpos-run.lsp"
    "src:cmp;cmpos-features.lsp"
    "src:cmp;cmpmain.lsp"
    "src:cmp;proclamations.lsp"))

(let ((si::*keep-documentation* nil))
  (mapc #'(lambda (x) (load x :verbose t)) +cmp-module-files+))

