Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code
[maxima.git] / src / maxima-build.lisp
blob807b8add36c67ee8b01d4035efe8fd25535f0198
1 #+lispworks
2 (setq hcl:*packages-for-warn-on-redefinition*
3 (remove-if (lambda (package-name)
4 (member package-name
5 '("HARLEQUIN-COMMON-LISP"
6 ;"CL-USER"
8 :test #'string-equal))
9 *packages-for-warn-on-redefinition*))
10 #+lispworks (in-package "HARLEQUIN-COMMON-LISP")
11 #+lispworks (defun getenv (x) (LW:ENVIRONMENT-VARIABLE x))
12 #+lispworks (in-package "CL-USER")
14 #-lispworks(load "../lisp-utils/defsystem.lisp")
15 #+lispworks(load (current-pathname "../lisp-utils/defsystem.lisp"))
17 #+ecl (load "maxima-package.lisp")
18 #+ecl
19 (compile 'maxima::make-unspecial
20 '(lambda (s)
21 (when (symbolp s)
22 (format t "~%;;; Declaring ~A as NOT SPECIAL" s)
23 (ffi::c-inline (s) (:object) :object
24 "((#0)->symbol.stype = stp_ordinary, #0)"
25 :one-liner t))))
27 (defun maxima-compile ()
28 (mk:oos "maxima" :compile))
29 (defun maxima-load ()
30 (mk:oos "maxima" :load))
32 (defun maxima-dump ()
33 #+clisp (ext:saveinitmem "binary-clisp/maxima.mem" :init-function (function cl-user::run))
34 #+sbcl (sb-ext:save-lisp-and-die "binary-sbcl/maxima.core" :toplevel (symbol-function 'cl-user::run))
35 #+gcl (si:save-system "binary-gcl/maxima")
36 #+cmu (extensions:save-lisp "binary-cmucl/maxima.core" :init-function 'cl-user::run)
37 #+scl (extensions:save-lisp "binary-scl/maxima.core" :init-function 'cl-user::run)
38 #+allegro (excl:dumplisp :name "binary-acl/maxima.dxl")
39 #+lispworks (hcl:save-image "binary-lispworks/maxima" :restart-function 'cl-user::run)
40 #+(and openmcl (not 64-bit-target)) (ccl:save-application "binary-openmcl/maxima" :toplevel-function 'cl-user::run)
41 #+(and openmcl 64-bit-target) (ccl:save-application "binary-ccl64/maxima" :toplevel-function 'cl-user::run)
42 #-(or clisp sbcl gcl cmu scl allegro lispworks ccl)
43 (format t "Sorry, I don't know how to dump an image on this Lisp"))