cswig(1) generate Python and Tcl wrappers from C++ code.


cswig [options] files...


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
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