sbcl.sbcl/loader.lisp
Alastair Bridgewater 22e70b0ef5 Fix building on older SBCL hosts
* Two parts here.  First, older SBCL hosts use SB-EXT:QUIT, not
SB-EXT:EXIT.  Second, there's some odd undefined-function warning
that crops up (probably from an inlined TYPEP test or even an
implicit type test) on the host from (SATISFIES FDEFN-P).

  * This doesn't get the parallel build working, but at least the
more usual single-threaded build works on 1.0.23 with these
changes.
2016-10-10 11:13:15 -04:00

19 lines
694 B
Common Lisp

(defun load-sbcl-file (file)
(labels ((exit-sbcl (code)
#+sbcl #.(if (eq :external
(nth-value 1 (find-symbol "EXIT" :sb-ext)))
`(,(find-symbol "EXIT" :sb-ext) :code code)
`(,(find-symbol "QUIT" :sb-ext) :unix-status code))
#+ccl (ccl:quit code)
#+abcl (ext:quit :status code)
#+cmucl (unix:unix-exit code)
#+ecl (si:quit code)
#+clisp (ext:quit code)
(return-from load-sbcl-file)))
(restart-case
(load file)
(abort ()
:report "Abort building SBCL."
(exit-sbcl 1)))
(exit-sbcl 0)))