1
Maxima can now be built using a purely lisp-based procedure. This
2
procedure is not yet as polished as the GNU Autotools system described
1
Maxima can be built using a purely Lisp-based procedure.
2
This procedure is not yet as polished as the GNU Autotools system
3
described in the file INSTALL.
4
However, it may be more convenient on a system (e.g., Windows)
5
which does not have the GNU Autotools installed.
7
User feedback on this procedure would be greatly appreciated.
5
9
Note: xmaxima cannot be built using this procedure.
7
11
Note (2): Plotting on Windows does not (yet) work using this procedure.
11
1) Launch your lisp implementation.
13
2) Load the file configure.lisp.
15
3) Execute "(configure)". You will be prompted for several inputs. Hit
16
return to use the default values. The configure process can be
17
automated through the use of optional arguments to configure. See
18
the file configure.lisp for details.
20
4) Change to the src directory.
16
(0) cd to the top-level Maxima directory (i.e., the directory
17
which contains src/, tests/, share/, and other directories).
19
(1) Launch your Lisp implementation.
21
(2) Load the file configure.lisp:
23
(load "configure.lisp")
25
(3) Generate configuration files:
29
You will be prompted for several inputs.
30
Press carriage return to accept the default values.
32
The configure process can be automated through the use
33
of optional arguments to configure.
34
See the file configure.lisp for details.
40
and cd to the directory src/.
42
(4.1) GCL only: Create these directories if they do not already exist:
46
binary-gcl/numerical/slatec
22
48
Maxima builds with defsystem. The file maxima-build.lisp is provided
23
49
for rudimentary guidance in using defsystem. Experts should feel free
24
50
to subsitute their knowledge of defsystem for the following steps.
26
5) Load maxima-build.lisp.
28
6) Execute "(maxima-compile)".
30
7) Optionally, quit Lisp at this point and restart.
32
8) Execute "(maxima-load)".
34
9) Dump an image, using (user::run) for the startup function if
35
possible. The command "(maxima-dump)" will work for a (very)
36
limited set of Lisp(s).
38
Two scripts are provided to act as front-ends to the dumped lisp
39
image. The script "maxima" requires Bourne shell. Even if Bourne shell
40
is not available on your system, it is worth looking at the way images
41
are invoked at the end of the script. You will have to manually "chmod
42
+x maxima". The file "maxima.bat" provides a Windows batch file
43
interface roughly equivalant to "maxima".
45
User feedback on this procedure would be greatly appreciated.
b'\\ No newline at end of file'
52
(5) Restart Lisp, and load maxima-build.lisp:
54
(load "maxima-build.lisp")
56
(6) Compile the Lisp source code:
60
Clisp only: Clisp complains about SETQ applied to a symbol in
61
a locked package when compiling src/cpoly.lisp.
62
When Clisp asks you if you want to allow it, enter "continue" (without quote marks).
64
(7) Quit Lisp, and restart Lisp.
66
(8) Load the compiled Lisp files:
68
(load "maxima-build.lisp")
71
(9) Dump an image, and if the Lisp implementation allows one to
72
specify a start-up function, specify USER::RUN.
74
There is a function MAXIMA-DUMP to carry out those steps.
75
At present it works only for Clisp.
81
(ext:saveinitmem "binary-clisp/maxima.mem" :init-function 'user::run)
83
GCL: (GCL terminates after saving the image)
85
(si:save-system "binary-gcl/maxima")
87
CMUCL: (CMUCL terminates after saving the image)
89
(extensions:save-lisp "binary-cmucl/maxima.core" :init-function 'user::run)
91
SCL: (SCL terminates after saving the image)
93
(extensions:save-lisp "binary-scl/maxima.core" :init-function 'user::run)
95
(10) Execute the saved image.
97
Each Lisp implementation allows one to specify the name of the
98
image to be executed in a slightly different way.
99
Two scripts, maxima and maxima.bat,
100
are provided to specify the command line options appropriately.
102
Unix systems and Windows with Bourne shell:
109
(Even if Bourne shell is not available on your system,
110
it is worth looking at the way images are invoked at the end of the script.)
112
Windows without Bourne shell:
116
(11) Test the build. At the Maxima prompt, enter: