Instructions on building SWIG for Windows 95/NT
January 3, 1998
Building SWIG
=============
Instructions for Visual C++ 4.x/5.x
------------------------------------
The Visual C++ makefile has been contributed by Kevin Butler. SWIG
should be compiled from the command line using 'nmake'. Follow these
instructions.
1. Make sure the C++ compiler environment variables have been set by
the 'vcvars32' script. If you didn't enable this when you installed
visual C++ you may have to type 'vcvars32' at the command prompt first.
2. Copy the file 'makefile.vc' to 'makefile'.
3. Take a look at the file 'make_win.in'. You will need to change values
as appropriate and decide where you want SWIG to be installed.
4. Type 'nmake' to build SWIG.
5. Type 'nmake install' to install SWIG and the SWIG library.
The SWIG installation consists of two basic parts :
swig.exe - The SWIG executable. You should put
this somewhere on your PATH.
swig_lib - The SWIG library. This contains code
that is used by SWIG during its code
generation.
By default, SWIG will install itself as follows :
c:\swig1.1\swig.exe
c:\swig1.1\swig_lib\
To uninstall SWIG, simply delete the swig1.1 directory.
Note : The location of the SWIG library is hard-wired into SWIG when you
compile. If you move the library to a new location, you should recompile
or set the SWIG_LIB environment variable to point to its new location.
Note : Due to the broken command shell on Win95, you may need to type
'nmake install95' to properly install SWIG.
6. To clean up, type 'nmake clean'.
7. Read the section below about building the examples.
Instructions for Borland C++ 5.x
---------------------------------
This Makefile has been provided by Pier Giorgio Esposito. I have tested
it with Borland C++ 5.2 on my development machine. Please report problems
to beazley@cs.utah.edu.
1. Copy the file 'makefile.bc' to 'makefile'
2. Modify the file 'make_bc.in' to reflect the settings on your machine..
3. Type 'make' to build SWIG.
4. Type 'make install' to install SWIG for Windows-NT.
5. Type 'make install95' to install SWIG on Windows-95.
6. Type 'make clean' to cleanup.
Building the Examples
=====================
Since SWIG is developed under Unix, most of the examples have been implemented
and tested in that environment. Windows makefiles are now available for
most of the examples. However, some of the examples don't work under
Windows and others may require a little makefile hacking (in other words,
your mileage may vary).
All of the examples are designed to be compiled and run from the MS-DOS
command prompt. It is also possible to use SWIG from within an environment
such as Developer Studio, but the project files tend to be rather large. Given
the number of examples, I've opted to make them short and easy to build from the
command line instead.
Visual C++ :
------------
1. Edit the file 'Makefile.win.vc' to reflect the settings on your machine
including the installed locations of SWIG, Tcl, Python, Perl, and so
forth.
2. Copy the file 'Makefile.win.vc' to 'Makefile.win' in the top level
directory.
3. Now, go into each example and type 'nmake /f makefile.msc target' where
target is one of 'tcl', 'perl', or 'python'. For example :
nmake /f makefile.msc tcl
nmake /f makefile.msc perl
Borland C++
------------
1. Edit the file 'Makefile.win.bc' to reflect the settings on your machine
including the locations of SWIG, Tcl, Python, Perl, Borland C++, and
so forth.
2. Copy the file 'Makefile.win.bc' to 'Makefile.win' in the top level
3. To build each example, type 'make /f makefile.msc target' where
target is one of 'tcl', 'perl', or 'python'. For example
make /f makefile.msc tcl
make /f makefile.msc perl
Note : Borland support is relatively new and incomplete at this time. Some
of the examples may not compile or work properly. Some of the more complicated
examples such as OpenGL and GIFPlot do not contain any Borland C++ makefiles.
The 'Makefile.win.bc' file is still incomplete at this time.
I have only been able to successfully use the Borland compiler with
versions of Tcl and Perl that have also been compiled with Borland. I
have no idea if extensions can be built to binary releases of Tcl,
Perl, or Python that have been compiled with a different compiler such
as Visual C++. (If this is possible, please send me e-mail!).
General Disclaimer
==================
I am primarily a Unix developer, but will do whatever is necessary to
make SWIG work better on non-Unix platforms. Technical questions
about using SWIG under Windows should be addressed to the SWIG mailing
list (swig@cs.utah.edu). Questions or bug reports about SWIG's
compilation and installation under Windows can be sent to
beazley@cs.utah.edu.
Acknowledgments
===============
The Windows port would not be possible without the contributions of SWIG
users.
John Buckman tested some very early versions of SWIG unders Windows-NT.
Kevin Butler provided the Visual C++ makefile.
Pier Giorgio Esposito provided the Borland C++ makefile.
Mark Hammond has provided useful input on all sorts of Windows-related issues.
Dave Beazley
beazley@cs.utah.edu
January 4, 1998