Below is an updated 'how to' on building GCL for native Win32 use
(either CLTL1 or ANSI).  Most of Mike Thomas' work is still relevant.  I
had to dig around for the MinGW and MSYS files from other locations,
because SourceForge doesn't go back so far in some cases.
 
It also includes directions (mostly from Gaby) for using TortoiseCVS to
check out files, placing the 'info' files (pointed out by Camm) and a
pointer to a webpage by Gordon Novak Jr. at U Texas on making GCL run in
inferior mode under EMACS.  All of this is included on the grounds that
_I required all of it_ and it might be safe to guess that other Win32
users would be similarly without the required knowledge.
 
I have not spent the time to learn how to produce a real
Windows-installer file as did Mike Thomas.  Since there appears to be
little call for a native Win32 build, I'm hoping this is good for the
community--as small an offering as it is.
 
Best, 
 
_don

~~~~~~~~~~~~~~~~~~~~~~~~~
Don Winiecki, Ed.D., Ph.D., Associate Professor
Boise State University, College of Engineering
Department of Instructional & Performance Technology
1910 University Drive, Boise, Idaho 83725-2070 USA
E-mail: [EMAIL PROTECTED] 
WWW: http://ipt.boisestate.edu ( http://ipt.boisestate.edu/ )
Telephone: (+01) 208 426 1899
Fax: (+01) 208 426 1970
~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 
===============================================
BUILDING NATIVE WIN32 GNU COMMON LISP FROM CVS
===============================================
 
The preferred build host system for the Mingw32 compiler is MSYS.
 
I use gcc version 3.3.1 and binutils 2.14.90, but earlier versions
of gcc back to 2.95 are OK provided that you remove the
"-fno-zero-initialized-in-bss" flag in "h/mingw.defs" before running
"configure".
 
Note that gcc 3.3.3 and gcc 3.4.0 do NOT work; likewise binutils
2.13.90
and 2.15.90.
 
The working binutils version can be found at:
 
http://gd.tuwien.ac.at/gnu/mingw/binutils-2.14.90-20030612-1.tar.gz 
 
===============================================
INSTALL AND CONFIGURE TORTOISE CVS
===============================================
 
Download Tortoise CVS from:  http://www.tortoisecvs.org/ 
 
After downloading, install Tortoise CVS and included programs, 
accepting default installation directories.
 
===============================================
DOWNLOAD CVS FOR GCL
===============================================
 
Choose a directory to which you will download (check out) of the GCL
CVS
(I created c:\_cvs).
 
Enter the directory created and right click.  The context menu will
show
`CVS checkout' as a context menu itemu.
 
Choose the 'CVS checkout' context menu item.  You should be presented
with
a dialogue box titled 'TortoiseCVS-Checkout Module'.  
 
Under the 'Module' tab, enter the following:
 
For Protocol, enter
 
     :pserver
 
For `server', enter
 
    cvs.savannah.gnu.org     
 
For `Repository folder', enter
 
    /sources/gcl
 
For `User name', enter
 
     anonymous
 
On the right side of the dialog box, for `Module', enter
 
     gcl
 
Under the 'Revision' tab:
 
Select the 'Choose branch or tag' radio button
 
Select the 'Update list...' button
 
Open the 'Branch or tag name:' drop down list and select the version
you want
to build
 
Under the 'Options' tab:
 
Check the `Use UNIX line ending' box
 
Choose the 'Enter your own folder name' radio button
 
In the 'Custom folder name:' field, enter the name of the folder you
desire
to be created (for example, 'gcl-2.6.7' to match the version to be
built)
 
Now, click again on `Module' tab. Click on OK.  You should see that
tortoise CVS is checking out GCL from CVS repo.
 

More information on CVS access is available here
 
   http://savannah.gnu.org/cvs/?group=gcl 
 

===============================================
INSTALLING BUILD TOOLS (MinGW, MSYS)
===============================================
 
BUILD TOOLS
 
Subject to the above warnings, it is usually a good idea to keep up to
date with Mingw32 and MSYS.  Updates for various parts of these
packages
are available on the web site.
 
Go to http://www.mingw.org/download.shtml and download
 
  http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download 
 
  http://prdownloads.sf.net/mingw/MSYS-1.0.9.exe?download 
 
  http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download 
 
 
http://prdownloads.sf.net/mingw/gcc-core-3.3.1-20030804-1.tar.gz?download

 
Install these files in the same order as above. Accept the default 
locations. GCC-CORE-3.3.1-20038041.tar.gz' should be extracted into 
c:/mingw and overwrites the older version of gcc. 
 
When you are done, you should be able to start MSYS and a get the '$'
prompt
(customized for your machine name and your username, if active)
 
To check the installation, type 'gcc -v' at the prompt.  If all was
installed
properly you should see:
 
  gcc version 3.3.1 (mingw special 20030804-1)
 
===============================================
BUILDING GCL USING MSYS AS THE HOST
===============================================
 
At the MSYS '$' prompt, change to your GCL source directory eg:
 
  cd /c/_cvs/gcl-2.6.7
 
You are now ready to configure GCL:
 
If you want to build the CLTL1 variant, type:
 
  ./configure --prefix="c:/gcl" > configure.log 2>&1
 
If you want to build the ANSI variant, type:
 
  ./configure --prefix="c:/gcl" > --enable-ansi configure.log 2>&1
 
  Change the prefix directory as required for your desired final
installation 
  path.  I find it helpful to redirect output from "configure" and
"make" 
  into log files for debugging and checking.
 
Check the log.  If no errors,
 
Type:
 
   make >& make.log 
 
The "saved_gcl.exe" (or "saved_ansi_gcl.exe") should turn up eventually
in 
the unixport directory (inside the \lib\gcl-x.x.x directory of the
final 
installation directory).  
 
You can try it out directly inside the MSYS shell by typing the
following at
the MSYS command prompt.
 
  ./unixport/saved_gcl.exe
 
To install, type the following at the MSYS command prompt:
 
  make install >& install.log
 
- The batch file "gclm.bat" can be used to make a Windows desktop 
  shortcut.  (NOTE: I have not been able to make this batch file work
[djw])
 
- BFD fasloading, Stratified Garbage Collection (SGC) readline and
GCL-TK 
  don't work under Windows.  The configuration options above provide a
  "traditional" GCL executable which will build the current CVS version
of
  Maxima.  The BFD option will depend on someone with knowledge of BFD
and 
  PE-COFF linking fixing some problems with the BFD library - I am
slowly
  absorbing the info needed, but we really need input from an expert. 
My
  inclination is to stick with custom relocation as BFD is less
efficient.
 
===============================================
INSTALLING GCL INFORMATION ACCESSIBLE FROM GCL INTERPRETER
===============================================
 
Download "gcl.info.tgz" from ftp://ftp.gnu.org/pub/gnu/gcl/ 
 
Make the following directory path and unpack the downloaded file into 
 
C:\usr\local\gnu\info
 
===============================================
RUNNING GCL
===============================================
 
You can move the final installation folder (for example,
"GCL-2.6.7-ANSI")
anywhere on your hard drive (typically, c:\program files).
 
Create a shortcut to the executable (either "saved_gcl.exe" or 
"saved_ansi_gcl.exe") and assign to it the icon located in the \bin
directory.
 
You can then move the shortcut to anywhere (the 'Start' menu or your
'Quick
Launch' menu).  Double click the icon to launch GCL.
 
===============================================
CONFIGURE GCL TO RUN IN INFERIOR MODE UNDER EMACS
=============================================== 
 
Follow directions provided by Gordon Novak Jr. at:
 
http://www.cs.utexas.edu/users/novak/gclwin.html 
 

=============================================== 
Mike Thomas
 
15 June 2004
 
(Updates and modifications by Don Winiecki, 1:06 PM 1/1/2008, using
information provided by 
Mike Thomas, Camm Maguire, Gaby Dos Reis, Gordon Novak Jr. and Bill
Page 
(http://lists.gnu.org/archive/html/axiom-developer/2003-10/msg00227.html))
 
 
===============================================
BUILDING NATIVE WIN32 GNU COMMON LISP FROM CVS
===============================================

The preferred build host system for the Mingw32 compiler is MSYS.

I use gcc version 3.3.1 and binutils 2.14.90, but earlier versions
of gcc back to 2.95 are OK provided that you remove the
"-fno-zero-initialized-in-bss" flag in "h/mingw.defs" before running
"configure".

Note that gcc 3.3.3 and gcc 3.4.0 do NOT work; likewise binutils 2.13.90
and 2.15.90.

The working binutils version can be found at:

http://gd.tuwien.ac.at/gnu/mingw/binutils-2.14.90-20030612-1.tar.gz

===============================================
INSTALL AND CONFIGURE TORTOISE CVS
===============================================

Download Tortoise CVS from:  http://www.tortoisecvs.org/

After downloading, install Tortoise CVS and included programs, 
accepting default installation directories.

===============================================
DOWNLOAD CVS FOR GCL
===============================================

Choose a directory to which you will download (check out) of the GCL CVS
(I created c:\_cvs).

Enter the directory created and right click.  The context menu will show
`CVS checkout' as a context menu itemu.

Choose the 'CVS checkout' context menu item.  You should be presented with
a dialogue box titled 'TortoiseCVS-Checkout Module'.  

Under the 'Module' tab, enter the following:

For Protocol, enter

     :pserver

For `server', enter

    cvs.savannah.gnu.org     

For `Repository folder', enter

    /sources/gcl

For `User name', enter

     anonymous

On the right side of the dialog box, for `Module', enter

     gcl

Under the 'Revision' tab:

Select the 'Choose branch or tag' radio button

Select the 'Update list...' button

Open the 'Branch or tag name:' drop down list and select the version you want
to build

Under the 'Options' tab:

Check the `Use UNIX line ending' box

Choose the 'Enter your own folder name' radio button

In the 'Custom folder name:' field, enter the name of the folder you desire
to be created (for example, 'gcl-2.6.7' to match the version to be built)

Now, click again on `Module' tab. Click on OK.  You should see that
tortoise CVS is checking out GCL from CVS repo.


More information on CVS access is available here

   http://savannah.gnu.org/cvs/?group=gcl 


===============================================
INSTALLING BUILD TOOLS (MinGW, MSYS)
===============================================

BUILD TOOLS

Subject to the above warnings, it is usually a good idea to keep up to
date with Mingw32 and MSYS.  Updates for various parts of these packages
are available on the web site.

Go to http://www.mingw.org/download.shtml and download

  http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download

  http://prdownloads.sf.net/mingw/MSYS-1.0.9.exe?download

  http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download

  http://prdownloads.sf.net/mingw/gcc-core-3.3.1-20030804-1.tar.gz?download

Install these files in the same order as above. Accept the default 
locations. GCC-CORE-3.3.1-20038041.tar.gz' should be extracted into 
c:/mingw and overwrites the older version of gcc. 

When you are done, you should be able to start MSYS and a get the '$' prompt
(customized for your machine name and your username, if active)

To check the installation, type 'gcc -v' at the prompt.  If all was installed
properly you should see:

  gcc version 3.3.1 (mingw special 20030804-1)

===============================================
BUILDING GCL USING MSYS AS THE HOST
===============================================

At the MSYS '$' prompt, change to your GCL source directory eg:

  cd /c/_cvs/gcl-2.6.7

You are now ready to configure GCL:

If you want to build the CLTL1 variant, type:

  ./configure --prefix="c:/gcl" > configure.log 2>&1

If you want to build the ANSI variant, type:

  ./configure --prefix="c:/gcl" > --enable-ansi configure.log 2>&1

  Change the prefix directory as required for your desired final installation 
  path.  I find it helpful to redirect output from "configure" and "make" 
  into log files for debugging and checking.

Check the log.  If no errors,

Type:

   make >& make.log 

The "saved_gcl.exe" (or "saved_ansi_gcl.exe") should turn up eventually in 
the unixport directory (inside the \lib\gcl-x.x.x directory of the final 
installation directory).  

You can try it out directly inside the MSYS shell by typing the following at
the MSYS command prompt.

  ./unixport/saved_gcl.exe

To install, type the following at the MSYS command prompt:

  make install >& install.log

- The batch file "gclm.bat" can be used to make a Windows desktop 
  shortcut.  (NOTE: I have not been able to make this batch file work [djw])

- BFD fasloading, Stratified Garbage Collection (SGC) readline and GCL-TK 
  don't work under Windows.  The configuration options above provide a
  "traditional" GCL executable which will build the current CVS version of
  Maxima.  The BFD option will depend on someone with knowledge of BFD and 
  PE-COFF linking fixing some problems with the BFD library - I am slowly
  absorbing the info needed, but we really need input from an expert.  My
  inclination is to stick with custom relocation as BFD is less efficient.

===============================================
INSTALLING GCL INFORMATION ACCESSIBLE FROM GCL INTERPRETER
===============================================

Download "gcl.info.tgz" from ftp://ftp.gnu.org/pub/gnu/gcl/

Make the following directory path and unpack the downloaded file into 

C:\usr\local\gnu\info

===============================================
RUNNING GCL
===============================================

You can move the final installation folder (for example, "GCL-2.6.7-ANSI")
anywhere on your hard drive (typically, c:\program files).

Create a shortcut to the executable (either "saved_gcl.exe" or 
"saved_ansi_gcl.exe") and assign to it the icon located in the \bin directory.

You can then move the shortcut to anywhere (the 'Start' menu or your 'Quick
Launch' menu).  Double click the icon to launch GCL.

===============================================
CONFIGURE GCL TO RUN IN INFERIOR MODE UNDER EMACS
=============================================== 

Follow directions provided by Gordon Novak Jr. at:

http://www.cs.utexas.edu/users/novak/gclwin.html


=============================================== 
Mike Thomas

15 June 2004

(Updates and modifications by Don Winiecki, 1:06 PM 1/1/2008, using information 
provided by 
Mike Thomas, Camm Maguire, Gaby Dos Reis, Gordon Novak Jr. and Bill Page 
(http://lists.gnu.org/archive/html/axiom-developer/2003-10/msg00227.html))

_______________________________________________
Gcl-devel mailing list
Gcl-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/gcl-devel

Reply via email to