;; :parse-options (not executable);--- requires a patch to clisp
:script t
(apply #'ext:saveinitmem filename
:quiet t
:start-package *package*
:keep-global-handlers nil
:executable (if standalone 0 t);--- requires clisp 2.48 or later.
(when standalone
(list
:norc t
:start-package package
:keep-global-handlers nil)
:script nil
:init-function #'resume
;; :parse-options nil ;--- requires a non-standard patch to clisp.
)))
#+sbcl
(progn
;;(sb-pcl::precompile-random-code-segments);--- it is ugly slow at compile-time (!) when the initial core is a big CLOS program. If you want it, do it yourself
(setf sb-ext::*gc-run-time* 0)
(apply 'sb-ext:save-lisp-and-die filename
:executable executable
(when executable (list :toplevel #'resume))))
:executable t ;--- always include the runtime that goes with the core
(when standalone (list :toplevel #'resume :save-runtime-options t))));--- only save runtime-options for standalone executables
#+cmu
(progn
(ext:gc :full t)
(setf ext:*batch-mode* nil)
(setf ext::*gc-run-time* 0)
(extensions:save-lisp filename))
#+openmcl
(ccl:save-application filename)
#+clozure
(ccl:save-application filename :prepend-kernel t)
#+allegro
(progn
(sys:resize-areas :global-gc t :pack-heap t :sift-old-areas t :tenure t); :new 5000000