File: INSTALL.lisp

package info (click to toggle)
maxima 5.10.0-6
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 44,268 kB
  • ctags: 17,987
  • sloc: lisp: 152,894; fortran: 14,667; perl: 14,204; tcl: 10,103; sh: 3,376; makefile: 2,202; ansic: 471; awk: 7
file content (119 lines) | stat: -rw-r--r-- 3,224 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
Maxima can be built using a purely Lisp-based procedure.
This procedure is not yet as polished as the GNU Autotools system
described in the file INSTALL.
However, it may be more convenient on a system (e.g., Windows)
which does not have the GNU Autotools installed.

User feedback on this procedure would be greatly appreciated.

Note: xmaxima cannot be built using this procedure.

Note (2): Plotting on Windows does not (yet) work using this procedure.


To build Maxima:

(0) cd to the top-level Maxima directory (i.e., the directory 
    which contains src/, tests/, share/, and other directories).

(1) Launch your Lisp implementation.

(2) Load the file configure.lisp:

    (load "configure.lisp")

(3) Generate configuration files:

    (configure)

    You will be prompted for several inputs.
    Press carriage return to accept the default values.

    The configure process can be automated through the use
    of optional arguments to configure.
    See the file configure.lisp for details.

(4) Quit Lisp,
    
    (quit)

    and cd to the directory src/.

(4.1) GCL only: Create these directories if they do not already exist:

    binary-gcl
    binary-gcl/numerical
    binary-gcl/numerical/slatec

Maxima builds with defsystem. The file maxima-build.lisp is provided
for rudimentary guidance in using defsystem. Experts should feel free
to subsitute their knowledge of defsystem for the following steps.

(5) Restart Lisp, and load maxima-build.lisp:

    (load "maxima-build.lisp")

(6) Compile the Lisp source code:

    (maxima-compile)

    Clisp only: Clisp complains about SETQ applied to a symbol in
    a locked package when compiling src/cpoly.lisp.
    When Clisp asks you if you want to allow it, enter "continue" (without quote marks).

(7) Quit Lisp, and restart Lisp.

(8) Load the compiled Lisp files:

    (load "maxima-build.lisp")
    (maxima-load)

(9) Dump an image, and if the Lisp implementation allows one to
    specify a start-up function, specify USER::RUN.

    There is a function MAXIMA-DUMP to carry out those steps.
    At present it works only for Clisp.

    Clisp:

    (maxima-dump)
     --- or ---
    (ext:saveinitmem "binary-clisp/maxima.mem" :init-function 'user::run)

    GCL: (GCL terminates after saving the image)

    (si:save-system "binary-gcl/maxima")

    CMUCL: (CMUCL terminates after saving the image)

    (extensions:save-lisp "binary-cmucl/maxima.core" :init-function 'user::run)

    SCL: (SCL terminates after saving the image)

    (extensions:save-lisp "binary-scl/maxima.core" :init-function 'user::run)

(10) Execute the saved image.

    Each Lisp implementation allows one to specify the name of the
    image to be executed in a slightly different way.
    Two scripts, maxima and maxima.bat,
    are provided to specify the command line options appropriately.

    Unix systems and Windows with Bourne shell:

    sh maxima
     --- or ---
    chmod a+x maxima
    ./maxima

    (Even if Bourne shell is not available on your system,
    it is worth looking at the way images are invoked at the end of the script.)

    Windows without Bourne shell:

    maxima.bat

(11) Test the build. At the Maxima prompt, enter:

    run_testsuite();