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)