1 |
==================================================== |
============================================================= |
2 |
BUILDING A NATIVE WIN32 GNU COMMON LISP (DRAFT ONLY) |
BUILDING A NATIVE WIN32 GNU COMMON LISP FROM CVS (DRAFT ONLY) |
3 |
==================================================== |
============================================================= |
4 |
|
|
5 |
I have recently changed the preferred build host system |
I have recently changed the preferred build host system |
6 |
for the Mingw32 compiler to MSYS, rather than Cygwin. |
for the Mingw32 compiler to MSYS, rather than Cygwin. |
7 |
|
|
8 |
The older Cygwin hosted method is set out further into this file |
The older Cygwin hosted method is set out further into this file |
9 |
below the MSYS method described here. |
below the MSYS method described here. It is not recommended, not |
10 |
|
supported and the instructions are not up to date. |
11 |
|
|
12 |
|
|
13 |
=============================================== |
=============================================== |
32 |
the latest Mingw32 runtime (30 April 2002). |
the latest Mingw32 runtime (30 April 2002). |
33 |
|
|
34 |
Having said that, I have not yet tried the recently released versions 3.1 |
Having said that, I have not yet tried the recently released versions 3.1 |
35 |
and 3.2 of Mingw32 gcc as they are still experimental. |
and 3.2 of Mingw32 gcc as they are still experimental. Furthermore, do not |
36 |
|
install Mingw 2 as that contains gcc 3.2. |
37 |
|
|
38 |
Only gcc 2.95 is known to work (The newer may well work, they just hasn't |
Only gcc 2.95 is known to work (The newer versions may well work, they just |
39 |
been tried yet). |
haven't been tried yet). |
40 |
|
|
41 |
|
|
42 |
SETUP |
SHORT SETUP NOTES |
43 |
|
|
44 |
- Install Mingw32 and MSYS using the instructions at those sites. |
- Install Mingw32 and MSYS using the instructions at those sites. |
45 |
|
|
|
- Install the Tcl/Tk packages directly into your Mingw32 directory. You don't |
|
|
need these packages if you don't want to build "tclwinkill.dll", "winkill.exe" or (perhaps one day) gcl-tk. |
|
46 |
|
|
47 |
- Note that "tclwinkill.dll" and "winkill.exe" are both needed by XMaxima. |
DETAILED SETUP NOTES |
48 |
|
|
49 |
|
- Start with MinGW-1.1.tar.gz. DO NOT USE THE NEW MINGW 2 PACKAGE. |
50 |
|
|
51 |
|
- By looking at the dates and version numbers appended to the other |
52 |
|
packages on the download page, get the latest versions of gcc, binutils, |
53 |
|
mingw-runtime, and w32api. (Stick with gcc 2.95 rather than gcc 3.1/3.2). |
54 |
|
I have the following packages: |
55 |
|
|
56 |
|
gcc-2.95.3-20011106.tar.gz |
57 |
|
binutils-2.13-20020808-1.tar.gz |
58 |
|
mingwDTK-1.0.0-alpha-1.tar.gz |
59 |
|
mingw-runtime-2.1.tar.gz |
60 |
|
w32api-1.5.tar.gz |
61 |
|
|
62 |
|
- Go to the top level Mingw32 installation directory - the one in which you |
63 |
|
can see "bin", "lib" etc |
64 |
|
|
65 |
|
- Extract those other packages in that directory eg: |
66 |
|
|
67 |
|
tar xzf rumpty-dumpty.tar.gz |
68 |
|
|
69 |
|
- Remove the Mingw version of "make" from the bin directory - it has serious |
70 |
|
bugs and will not work properly for most tasks including building GCL and Maxima. |
71 |
|
|
72 |
|
- Get MSYS and install it - follow the instructions - subscribe to the |
73 |
|
mailing list and read the archives. |
74 |
|
|
75 |
|
- In the MSYS directory install the "msysDTK-1.0.0-alpha-1.tar.gz" package |
76 |
|
which gives you cvs, ssh, rlogin, etc. |
77 |
|
|
78 |
|
|
79 |
|
|
80 |
BUILDING |
BUILDING |
81 |
|
|
82 |
- Change to your GCL source directory eg: |
- Change to your GCL source directory eg: |
83 |
|
|
84 |
cd /c/cvs/gcl |
cd /c/cvs/gcl |
85 |
|
|
86 |
- We are now ready to configure: |
- You are now ready to configure GCL: |
87 |
|
|
88 |
./configure --enable-custreloc --prefix="c:/gcl" >& con.log |
./configure --prefix="c:/gcl" > configure.log 2>&1 |
89 |
|
|
90 |
Change the prefix directory as required for your final installation path. |
Change the prefix directory as required for your final installation path. |
91 |
Note that it is helpful to redirect output from configure and make into log |
Note that it is helpful to redirect output from configure and make into log |
92 |
files for future debugging and checking. |
files for debugging and checking. |
93 |
|
|
94 |
- Check the log. If all is well, check the value of GCLDIR in "makedefs". |
- Check the log. If all is well, check the value of GCLDIR in "makedefs". |
95 |
|
|
112 |
|
|
113 |
make install >& install.log |
make install >& install.log |
114 |
|
|
115 |
You may need to fiddle with the install target a little as it is not very |
It is necessary to install GCL before building Maxima. |
116 |
Windows friendly at the moment. |
|
117 |
|
- You may also need to edit the gcl script to ensure the path |
118 |
|
uses colon format. |
119 |
|
|
120 |
You may also need to edit the gcl and gcl.bat scripts to ensure the path |
- The batch file "gclm.bat" can be used to make a Windows desktop |
121 |
uses colon format. The batch file can be used to make a Windows desktop |
shortcut. You will need to alter the path command in that batch file |
122 |
shortcut. |
so that your Mingw32 bin directory is visible. This will enable you |
123 |
|
to compile lisp code. |
124 |
- BFD fasloading and Stratified Garbage Collection (SGC) do not work. The |
|
125 |
configuration options above provide a "traditional" gcl executable which |
- BFD fasloading and Stratified Garbage Collection (SGC) do not work under |
126 |
will build the current CVS version of Maxima. |
Windows. The configuration options above provide a "traditional" GCL |
127 |
|
executable which will build the current CVS version of Maxima. |
128 |
|
|
129 |
- A PCL/ANSI build ("configure --enable-ansi --enable-custreloc") can be |
- A PCL/ANSI build ("configure --enable-ansi --enable-custreloc") can be |
130 |
obtained by adding "(si::use-fast-links nil)" to the end of the list of |
obtained by adding "(si::use-fast-links nil)" to the end of the list of |
131 |
commands in the SETUP makefile macro in "pcl/makefile". I don't know |
commands in the SETUP makefile macro in "pcl/makefile". I don't know |
132 |
why this is necessary on Windows. |
why this is necessary on Windows. The PCL/ANSI version of GCL is still |
133 |
|
experimental and will not compile Maxima at present. |
134 |
|
|
135 |
|
|
136 |
Mike Thomas, 30 August 2002 |
Mike Thomas, 23 September 2002 |
137 |
|
|
138 |
|
|
139 |
|
|