ecl/src/bare.lsp.in

69 lines
1.8 KiB
Text

;;;
;;; This file can be loaded either in ECL_MIN or in the final executable
;;; ECL. In both cases, it ensures that we have a working Common-Lisp
;;; environment (either interpreted, as in ECL_MIN, or compiled, as in ECL),
;;; that the compiler is loaded, that we use the headers in this directory,
;;; etc.
;;;
;;; * Set ourselves in the 'SYSTEM package
;;;
(setq *package* (find-package "SYSTEM"))
(setq si::*keep-definitions* nil)
;;;
;;; * Load Common-Lisp base library
;;;
(if (member "ECL-MIN" *features* :test #'string-equal)
(load "@abs_builddir@/lsp/load.lsp" :verbose nil))
(defun si::process-command-args () )
;;;
;;; * Load PCL-based Common-Lisp Object System
;;;
(setf sys::*gc-verbose* nil)
#+(and wants-clos ecl-min)
(load "@abs_builddir@/clos/load.lsp")
;;;
;;; * By redefining "SYS:" ECL will be able to
;;; find headers and libraries in the build directory.
;;;
(si::pathname-translations "SYS" '(("*.*" "@abs_builddir@/*.*")))
;;;
;;; * Load the compiler.
;;;
(load #+(or cross ecl-min) "@abs_builddir@/cmp/load.lsp"
#-(or cross ecl-min) "@abs_builddir@/cmp.so")
;;;
;;; * Add include path to not yet installed headers
;;;
(setq compiler::*cc-flags* (concatenate 'string compiler::*cc-flags* " -I@srcdir@/h -I@srcdir@/gmp "))
;;;
;;; * Remove documentation from compiled files
;;;
(setq si::*keep-documentation* nil)
;;;
;;; * Beppe's defsystem utility
;;;
(load "@srcdir@/util/system.lsp")
;;;
;;; * We redefine this to force generation of source files
;;; in the object directory -- source files help debugging
;;; with GDB.
;;;
(defun sbt::sbt-compile-file (&rest s)
(apply #'compiler::compile-file
(car s)
:c-file t :h-file t :data-file t :system-p t
(cdr s)))
;;;
;;; * Go back to build directory to start compiling
;;;
#+ecl-min
(setq *features* (cons :stage1 (remove :ecl-min *features*)))