Cygwin SWIG
===========

SWIG stands for Simplified Wrapper Interface Generator. See the documents in
/usr/doc/swig-<VERSION>/ and http://www.swig.org for more details. Generally,
SWIG builds "out of the box" for Cygwin.


Requirements:
-------------

Cygwin SWIG should only require the Cygwin DLL to run. It generates source
files that can be used with a variety of C compilers. When using a compiler
other than Cygwin's, a different "port" of the scripting language is likely
required (make sure you know what version you're using).

Building Cygwin SWIG requires at least the following packages (versions shown
were used to build current Cygwin SWIG--other versions should work as well):

    autoconf-2.54-1
    bash-2.05b-9
    binutils-20030307-1
    bison-20030307-1
    cygwin-1.3.22-1
    gcc-3.2-3
    make-3.79.1-7
    mktemp-1.4-1

Building the source generated by SWIG, including its tests ("make check" and
its variants) requires one of the following scripting languages (note: the
tests may not build correctly under Cygwin anyway):

    guile-1.6.0-1
    perl-5.8.0-2
    python-2.2.2-7
    tcltk-20030214-1
    java (*)
    mzscheme (*)
    ruby (*)

Those marked (*) were not tested for the Cygwin SWIG distribution. Using SWIG
extension mechanisms, other languages may be supported as well.


Install:
--------

Cygwin SWIG does not require any special installation procedures.


Source:
-------

No patches were applied to the standard SWIG distribution.


Build:
------

Cygwin SWIG can be built and installed as follows:

    ./configure --prefix=/usr && make && make install

CYGWIN/build.sh is the actual script used to build and package Cygwin SWIG (it
also copies documentation into /usr/doc/swig-<VERSION>/).


Test:
-----

Generally, the SWIG tests are run via "make check", although currently some
of the tests do not build correctly using this makefile. To get past these
failures, it helps to run the language-specific tests explicitly. E.g.,

  make check-tcl-examples
  make check-perl5-examples
  make check-python-examples
  make check-tcl-test-suite
  make check-perl5-test-suite
  make check-python-test-suite
  ...


Issues:
-------

Cygwin SWIG is currently based on a 1.3 SWIG release. SWIG releases 1.3.X are
development versions. SWIG 1.1p5 is technically the latest "stable" release,
although it is rather out of date and isn't being actively supported.

The runtime libraries build as static, not dynamic, libraries. SWIG currently
ships with an old version of LIBTOOLS. Updating it requires changing some of
the configuration information, which currently targets the old version.

SWIG release 1.3.19 still has issues with some of the automated tests.


Home page:
----------

The primary SWIG web site is:

    http://www.swig.org/
    http://swig.sourceforge.net/


Download:
---------

SWIG is hosted at SourceForge. In addition to the project home page, downloads
can be accessed via:

    http://sourceforge.net/projects/swig


Mailing Lists:
--------------

Please report problems, suggestions, etc. to *one* of the following:

    swig@cs.uchicago.edu - SWIG mailing list
    cygwin@cygwin.com    - Cygwin mailing list


Maintainer:
-----------

    Gerald Williams <gsw@agere.com>
