Dropping more non-ASCII characters from a comment in ifactor.lisp
[maxima.git] / INSTALL.win32nogcl
blobc69c710843eb024f99cd5952b661e8c4972d71a7
1 Executive Summary
2 =================
4 Maxima can now be built under Windows without recourse to any
5 Unix-like utilities. To do so, follow the purely lisp-based build
6 procedure in INSTALL.lisp.
8 Maxima can be simply compiled and installed under MSYS or Cygwin by
9 following the GNU Autotools instructions in INSTALL. With a few more
10 steps, Maxima will create a windows installer executable.  The
11 instructions for doing so are contained in this file. Note, however,
12 that this process is not as polished as the Unix-like install process.
14 In order to create the Maxima Windows installer from the maxima tarball 
15 distribution, I do the following in a MSYS window:
16 ----------------------------------------------------
17 ./configure --prefix=c:/maxima \
18     --enable-chm \
19     --enable-xmaxima-exe \
20     --with-hhc=<path-to-hhc> \
21     --enable-lang-es --enable-lang-pt --enable-lang-pt_BR \
22     --with-ccl=<path-to-ccl>
23 make
24 make install
25 make iss
26 ----------------------------------------------------
27 Then run Inno Setup on the generated maxima.iss file. That is all it
28 takes.
30 To compile with sbcl replace --with-ccl=<path-to-ccl> with
31 --with-sbcl=<path-to-sbcl>.
33 A script for building an installer is available at
34 <https://github.com/andrejv/max_build.sh>.
36 External Requirements
37 =====================
39 1) MinGW and MSYS
40 2) ccl/sbcl
41 3) Tcl/Tk (8.5 or later recommended)
42 4) Starkit, TclKit and img.kit
43 5) Vtk
44 6) InnoSetup
45 7) gnuplot
46 8) wxMaxima
47 9) Microsoft HTML Help Workshop
48 10) Python
50 Detailed Instructions
51 =====================
53 The instructions below apply to the maxima release tarball. In order
54 to build from the git repository, git, autoconf and automake are also
55 required. Follow the directions in INSTALL.git before proceeding.
57 1) Install MinGW and MSYS
58 a) Download mingw installer mingw-get-inst from http://www.mingw.org/
59 b) Run the installer to install mingw and msys
60 c) Use the installed mingw-get to add the build dependencies, including
61    - mingw-gcc
62    - mingw-binutils
63    - mingw-make
64    - mingw32-autotools
66 2) Install a lisp. Clozure Common Lisp (http://ccl.clozure.com) and
67 Steel Bank Common Lisp (http://sbcl.org) are supported. For Clozure
68 Common List use at least version 1.7 (version 1.10 does not work). For
69 Steel Bank CL use at least version 1.2.
71 3) Download tclkitsh-8.6.3-win32-ix86.exe and
72 tclkit-8.6.3-win32-ix86.exe from
73 <http://tclkits.rkeene.org/fossil/wiki?name=Downloads> and put them in
74 c:/programs/star.
76 Download sdx.kit and img.kit from <http://www.tcl.tk/starkits/> and
77 put them in c:/programs/star.
79 4) Get and install Inno Setup from <http://www.jrsoftware.org/isinfo.php>.
81 5) Download the gnuplot windows binary from
82 <http://gnuplot.sourceforge.net> and put it in
83 c:/programs/gnuplot. Use at least version 4.4.
85 6) Put the wxMaxima windows binary into c:/programs/wxMaxima.
87 7) Get Microsoft HTML Help Workshop from
88 <http://www.microsoft.com/en-us/download/details.aspx?id=21138>
90 8) Install Python from www.python.org. Add the path to python to your
91 windows PATH environment variable.
94 You should now be ready to compile and install maxima.  Configure
95 maxima so that it will install in some sort of temporary
96 directory. The directory does not need to exist ahead of time.
98 ./configure --prefix=c:/maxima \
99     --enable-chm \
100     --enable-xmaxima-exe \
101     --with-hhc=<path-to-hhc> \
102     --enable-lang-es --enable-lang-pt --enable-lang-pt_BR \
103     --with-ccl=<path-to-ccl>
104 make
105 make check
106 make install
107 make iss
109 The "check" should pass all tests except those listed as known
110 failures.
112 Once "make iss" is complete, run Inno Setup on the maxima.iss file. It
113 is recommended to remove the temporary maxima install directory
114 (c:/maxima above) before testing the installation.
116 9) Test the installed package (see the following part:)
120 Testing the installation package:
121 =================================
123 After building it, you can (and should) test the new Maxima installation package.
124 Install it on Windows and check that the installation (and later the deinstallation)
125 works properly. To test Maxima, try the following:
127  o Run the maxima testsuite: run_testsuite()
128  o Try compiling a function.  This has been a problem in the past
129     - f(x):=x+2;
130     - compile(f);
131     - f(2);
132  o Test the graphics systems in both xmaxima and wxmaxima
133     plot2d(sin(x),[x,0,10]);
134     plot2d(sin(x),[x,0,10],[plot_format,xmaxima]);
135     plot3d(x*y,[x,-1,1],[y,-1,1]);
136     scene(cone);
137     plotdf([-y,x],[trajectory_at,5,0]);
138     load(draw)$
139     draw3d(xu_grid = 30, yv_grid = 60, surface_hide = true,
140           parametric_surface(cos(phi) * sin(theta),
141                        sin(phi) * sin(theta),
142                        cos(theta),
143                        theta, 0, %pi, phi, 0, 2 * %pi))$
144  o Check that plotting to Postscript works
145     plot2d(sin(x),[x,0,10],[ps_file,"ps_test.ps"]);
146  o Try out the on-line help: describe(sin)
147  o Try out, if external packages (e.g. lapack) work:
148    load(lapack);
149    fpprintprec : 6;
150    M : matrix ([9.5, 1.75], [3.25, 10.45]);
151    dgeev (M);
153    should return the eigenvalues of M (and false, false since we did
154    not compute eigenvectors: [[7.54331, 12.4067], false, false]
156  o Check that the windows help files work from the Start menu 
157    and from within xmaxima and wxmaxima
158  o Try if double-clicking on a .wxmx file opens it
159  o The wxMaxima source comes with a file (test/testbench_simple.wxmx)
160    that tries to trigger everything that has gone wrong in previous
161    wxMaxima builds.  They include the commands that will test the
162    graphics system in the next step.
163    Open that file and then select "Cells/Evaluate all cells" in this
164    file and check if the file is processed correctly.