swig(1)

NAME
swig - produce scripting language wrapper code from an interface specification file

SYNOPSIS
swig [ options ] file.i

DESCRIPTION
swig generates wrapper code needed to integrate C,C++, and Objective-C functions and variables with Tcl, Perl, Python, and Guile and produces documentation. Consult the SWIG user manual for more details.

OPTIONS
The following major options are available. More options are available by typing 'swig -help'.

-tcl
    Generate Tcl wrappers

-tcl8
    Generate Tcl8.0 wrappers

-perl5
    Generate Perl5 wrappers

-python
    Generate Python wrappers

-perl4
    Generate Perl4 wrappers

-guile
    Generate Guile-iii wrappers

-dascii
    Generate ASCII format documentation

-dlatex
    Generate LaTeX format documentation

-dhtml
    Generate HTML format documentation

-dnone
    Generate no documentation

-I incdir
    Look in incdir for SWIG related include files

-llibfile
    Append a SWIG library file to the input.

-D symbol
    Define a symbol symbol for conditional compilation.

-v  verbose mode (perhaps overly verbose)

-version
    Print SWIG version information

-nocoment
    Ignore all comments in interface file

-strict n
    Set pointer type-checking strictness to n . n may be 0, 1 or 2.

-o outfile
    Change the name of the output file.

-c  Do not include SWIG runtime functions (used for creating multi-module packages).

-c++
    Enable special processing for C++.

-objc
    Enable Objective-C parsing.

-make_default
    Generate default constructors and destructors.

-co Check a file out of the SWIG library.

-ci Check a file into the SWIG library (must have write permission)

-stat
    Display statistics.

-help
    Print all of the available command line options.

INTERFACE FILES
The interface file is specified on the swig command line as the file to operate on. You may specify only one file on the command line. (See the include directive in the user's manual for ways around this.)

As input, an interface file (typically with a .i suffix) must be given. A minimal specification of this file is as follows:

 %module mymodule
 %{
 /* Include your headers here */
 %}
 /* List variables and function prototypes in ANSI C syntax */

 For example :

 %module example
 %{
 #include "my_header.h"
 %}

 extern int My_variable;
 extern double foo(double a, double b);
 extern void bar(char *);

OUTPUT
Given the input "file.i". swig produces an output file called "file_wrap.c" (You can override this using the -o option). This file should be compiled with the C/C++ compiler and linked with the rest of your code.

RESOURCES
SWIG documentation and updates are available at http://www.cs.utah.edu/~beazley/SWIG

AUTHOR
Man page written by Patrick Tullmann. SWIG is all Dave's. (Dave Beazley, that is.)

LIMITATIONS
Hah! Bring it all on.

BUGS
None reported at this time.

VERSION
SWIG 1.1

SEE ALSO
Tcl(n), python(1), perl(1)