NAME

swig - Simplified Wrapper and Interface Generator

SYNOPSIS

swig [options] file

DESCRIPTION

The swig command is used to create wrapper code to connect C and C++ code to scripting languages like Perl, Python, Tcl etc. from the definition of the interface. For detailed information on writing those interface definitions please refer to /usr/share/doc/swig-doc-2.0.9/Doc/Manual/index.html from the swig-doc package. This manpage concentrates on explaining the invocation of the swig command.

OPTIONS

Target Language Options:

-allegrocl
Generate ALLEGROCL wrappers
-chicken
Generate CHICKEN wrappers
-clisp
Generate CLISP wrappers
-cffi
Generate CFFI wrappers
-csharp
Generate C# wrappers
-d
Generate D wrappers
-go
Generate Go wrappers
-guile
Generate Guile wrappers
-java
Generate Java wrappers
-lua
Generate Lua wrappers
-modula3
Generate Modula 3 wrappers
-mzscheme
Generate Mzscheme wrappers
-ocaml
Generate Ocaml wrappers
-octave
Generate Octave wrappers
-perl
Generate Perl wrappers
-php
Generate PHP wrappers
-pike
Generate Pike wrappers
-python
Generate Python wrappers
-r
Generate R (aka GNU S) wrappers
-ruby
Generate Ruby wrappers
-sexp
Generate Lisp S-Expressions wrappers
-tcl
Generate Tcl wrappers
-uffi
Generate Common Lisp / UFFI wrappers
-xml
Generate XML wrappers i

General Options:

-addextern
Add extra extern declarations
-c++
Enable C++ processing
-co file
Check file out of the SWIG library
-copyctor
Automatically generate copy constructors wherever possible
-cpperraswarn
Treat the preprocessor #error statement as #warning (default)
-copyright
Display copyright notices
-debug-classes
Display information about the classes found in the interface
-debug-module n
Display module parse tree at stages 1-4, n is a csv list of stages
-debug-symtabs
Display symbol tables information
-debug-symbols
Display target language symbols in the symbol tables
-debug-csymbols
Display C symbols in the symbol tables
-debug-lsymbols
Display target language layer symbols
-debug-tags
Display information about the tags found in the interface
-debug-template
Display information for debugging templates
-debug-top n
Display entire parse tree at stages 1-4, n is a csv list of stages
-debug-typedef
Display information about the types and typedefs in the interface
-debug-typemap
Display typemap debugging information
-debug-tmsearch
Display typemap search debugging information
-debug-tmused
Display typemaps used debugging information
-directors
Turn on director mode for all the classes, mainly for testing
-dirprot
Turn on wrapping of protected members for director classes (default)
-Dsymbol
Define a symbol symbol (for conditional compilation)
-E
Preprocess only, does not generate wrapper code
-external-runtime [file]
Export the SWIG runtime stack
-fakeversion v
Make SWIG fake the program version number to v
-fcompact
Compile in compact mode
-features list
Set global features, where list is a comma separated list of features, eg -features directors,autodoc=1 If no explicit value is given to the feature, a default of 1 is used
-fastdispatch
Enable fast dispatch mode to produce faster overload dispatcher code
-Fmicrosoft
Display error/warning messages in Microsoft format
-Fstandard
Display error/warning messages in commonly used format
-fvirtual
Compile in virtual elimination mode
-help
This output
-I-
Don't search the current directory
-Idir
Look for SWIG files in directory dir
-ignoremissing
Ignore missing include files
-importall
Follow all #include statements as imports
-includeall
Follow all #include statements
-lifile
Include SWIG library file ifile
-macroerrors
Report errors inside macros
-makedefault
Create default constructors/destructors (the default)
-M
List all dependencies
-MD
Is equivalent to '-M -MF file', except '-E' is not implied
-MF file
Generate dependencies into file and continue generating wrappers
-MM
List dependencies, but omit files in SWIG library
-MMD
Like '-MD', but omit files in SWIG library
-module name
Set module name to name
-MP
Generate phony targets for all dependencies
-MT target
Set the target of the rule emitted by dependency generation
-nocontract
Turn off contract checking
-nocpperraswarn
Do not treat the preprocessor #error statement as #warning
-nodefault
Do not generate default constructors nor default destructors
-nodefaultctor
Do not generate implicit default constructors
-nodefaultdtor
Do not generate implicit default destructors
-nodirprot
Do not wrap director protected members
-noexcept
Do not wrap exception specifiers
-nofastdispatch
Disable fast dispatch mode (default)
-nopreprocess
Skip the preprocessor step
-notemplatereduce
Disable reduction of the typedefs in templates
-O
Enable the optimization options: -fastdispatch -fvirtual
-o outfile
Set name of the output file to outfile
-oh headfile
Set name of the output header file to headfile
-outcurrentdir
Set default output dir to current dir instead of input file's path
-outdir dir
Set language specific files output directory to dir
-pcreversion
Display PCRE version information
-small
Compile in virtual elimination & compact mode
-swiglib
Report location of SWIG library and exit
-templatereduce
Reduce all the typedefs in templates
-v
Run in verbose mode
-version
Display SWIG version number
-Wall
Remove all warning suppression, also implies -Wextra
-Wallkw
Enable keyword warnings for all the supported languages
-Werror
Treat warnings as errors
-Wextra
Adds the following additional warnings: 202,309,403,512,321,322
-wlist
Suppress/add warning messages, eg -w401,+321 see Warnings.html
-xmlout file
Write XML version of the parse tree to file after normal processing

Tcl 8 Options (available with -tcl)

-itcl
Enable ITcl support
-nosafe
Leave out SafeInit module function.
-prefix name
Set a prefix name to be prepended to all names
-namespace
Build module into a Tcl 8 namespace
-pkgversion
Set package version

Note: 'swig -lang -help' displays options for a specific target language.

AUTHOR

SWIG was originally created by David Beazley. For up-to-date information about authors and contributors please check http://www.swig.org/guilty.html. This manual page was written by Torsten Landschoff <torsten [at] debian.org> and updated by Jitka Plesnikova <jplesnik [at] redhat.com> (but may be used by others).