Reference

cswig(1)

generate Python and Tcl wrappers from C++ code.

NAME

cswig - generate Python and Tcl wrappers from C++ code.

SYNOPSIS

cswig [options] files...

DESCRIPTION

CableSwig (cswig) is used to create interfaces (i.e. "wrappers") to interpreted languages such as Tcl and Python. It was created to produce wrappers for ITK because the toolkit uses C++ structures that SWIG cannot parse (deeply nested template instantiations). CableSwig is a combination tool that uses GCC_XML as the c++ parser. The input files are Cable style input files. The XML produced from the Cable/GCC_XML input files are then parsed and feed into a modified version of SWIG. SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. It is used to generate the language bindings to the target language. Currently, Tcl and Python are supported.

Target Language Options:

-chicken - Generate CHICKEN wrappers

-csharp - Generate C# wrappers

-guile - Generate Guile wrappers

-java - Generate Java wrappers

-mzscheme - Generate Mzscheme wrappers

-ocaml - Generate Ocaml wrappers

-perl - Generate Perl wrappers

-php - Generate PHP wrappers

-pike - Generate Pike wrappers

-python - Generate Python wrappers

-ruby - Generate Ruby wrappers

-sexp - Generate Lisp S-Expressions wrappers

-tcl - Generate Tcl wrappers

-xml - Generate XML wrappers

General Options

-nocable - Run in regular swig mode.

-Cindex file.mdx - Read a cable master index file

-depend file.cmake - Specify a cmake depend file

-c++ - Enable C++ processing

-co - Check a file out of the SWIG library

-dirprot - Turn on wrapping of protected members for director classes

-D<symbol> - Define a symbol <symbol> (for conditional compilation)

-E - Preprocess only, does not generate wrapper code

-fcompact - Compile in compact mode

-fvirtual - Compile in virtual elimination mode

-Fstandard - Display error/warning messages in commonly used format

-Fmicrosoft - Display error/warning messages in Microsoft format

-help - This output

-I<dir> - Look for SWIG files in <dir>

-ignoremissing - Ignore missing include files

-importall - Follow all #include statements as imports

-includeall - Follow all #include statements

-l<ifile> - Include SWIG library file <ifile>

-M - List all dependencies

-MM - List dependencies, but omit files in SWIG library

-makedefault - Create default constructors/destructors (the default)

-module <name> - Set module name to <name>

-nocontract - Turn off contract checking

-nodefault - Do not generate constructors/destructors

-nodirprot - Do not wrap director protected members

-noexcept - Do not wrap exception specifiers

-noextern - Do not generate extern declarations

-noruntime - Do not include SWIG runtime code

-o <outfile> - Set name of the output file to <outfile>

-outdir <dir> - Set language specific files output directory

-runtime - Make the runtime support code globally visible.

-small - Compile in virtual elimination & compact mode

-swiglib - Report location of SWIG library and exit

-v - Run in verbose mode

-version - Print SWIG version number

-Wall - Enable all warning messages

-Wallkw - Enable keyword warnings for all the supported languages

-Werror - Force to treat warnings as errors

-w<list> - Suppress/add warning messages by code.

Use ',' as separator and the +/- signs as follows

-w+321,401,-402

where code 321(+) is added, and 401(no sign) and 402(-) are suppressed. See documentation for code meanings.

Tcl 8 Options (available with -tcl)

-itcl - Enable ITcl support

-ldflags - Print runtime libraries to link with

-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: 'cswig -<lang> -help' displays options for a specific target language.

SWIG Version 1.3.20 Copyright (c) 1995-1998 University of Utah and the Regents of the University of California Copyright (c) 1998-2003 University of Chicago Compiled with g++ [Linux-2.6.15-1-k7-gcc]

Please see http://www.swig.org for reporting bugs and further information

SEE ALSO

cableidx(1), gccxml(1).