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)