contrib/operatingsystem: Add chdir/mkdir for ABCL.
[maxima.git] / archive / src / save.lisp
blob6816b7f5b03ab5b6a1069db3d1b4fcf596c918af
1 (load "sysdef.lisp")
2 (load "version.lisp")
3 (SYSTEM:ALLOCATE-CONTIGUOUS-PAGES (round 1100 (/ si::lisp-pagesize 2048)) t)
4 (make::make :maxima)
5 ;; clean up a bit.
6 (sloop::sloop for v in-package 'make do (unintern v))
7 (remprop :maxima :make)
8 (remprop :minima :make)
9 (sloop::sloop for v in-package 'maxima do (remprop v 'si::debug))
10 (load #"../src/autol.lisp")
11 (load #"../src/max_ext.lisp")
12 (gbc t)
13 (gbc 1)
14 (defun run () (maxima::macsyma-top-level))
15 (defun system::kcl-top-level nil
16 (when (> (system:argc) 1)
17 (setq system:*system-directory* (system:argv 1)))
18 (when (>= (system:argc) 5)
19 (let ((system::*quit-tag* (cons nil nil))
20 (system::*quit-tags* nil) (system::*break-level* '())
21 (system::*break-env* nil) (system::*ihs-base* 1)
22 (system::*ihs-top* 1) (system::*current-ihs* 1)
23 (*break-enable* nil))
24 (system:error-set
25 '(let ((system::flags (system:argv 4)))
26 (setq system:*system-directory*
27 (pathname (system:argv 1)))
28 (compile-file (system:argv 2) :output-file
29 (system:argv 3) :o-file
30 (case (schar system::flags 1) (#\0 nil) (#\1 t)
31 (t (system:argv 5)))
32 :c-file
33 (case (schar system::flags 2) (#\0 nil) (#\1 t)
34 (t (system:argv 6)))
35 :h-file
36 (case (schar system::flags 3) (#\0 nil) (#\1 t)
37 (t (system:argv 7)))
38 :data-file
39 (case (schar system::flags 4) (#\0 nil) (#\1 t)
40 (t (system:argv 8)))
41 :system-p
42 (if (char-equal (schar system::flags 0) #\S) t
43 nil))))
44 (bye (if compiler::*error-p* 1 0))))
45 (format t "AKCL (Austin Kyoto Common Lisp) ~A~%~a~%" "DATE"
46 "Maxima 4.0 (with enhancements by W. Schelter).
47 Type (run) to start Maxima.")
48 (setq si::*ihs-top* 1)
50 (in-package 'system::user) (incf system::*ihs-top* 2)
51 (funcall system::*old-top-level*))
53 (in-package "MAXIMA")
54 (setf $version (cons '(mlist) (get :maxima :version)))
56 (setq *DESCRIBE-INDEX-DIRECTORY*
57 (namestring
58 (make-pathname :directory
59 (pathname-directory $DESCRIBE_DOCUMENTATION))))
62 ; (setq maxima::$file_search (list '(maxima::mlist)
63 ; #"SYSDIR/share/foo.o"
64 ; #"SYSDIR/share/foo.lisp"
65 ; #"SYSDIR/share1/foo.o" #"SYSDIR/share1/foo.lisp"
66 ; #"SYSDIR/tensor/foo.o" #"SYSDIR/tensor/foo.lisp"
67 ;))
69 (setq maxima::$file_search (list '(maxima::mlist)
70 #"SYSDIR/[stm][hryea]*/foo.[lmo]*"))
74 (si::save-system "../unixport/saved_maxima")