---
name: "cswig"
section: "1"
platform: "linux"
package: "cableswig"
version: "0.1.0+cvs20111009-1.1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/cswig"
---

# 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)](/cableidx/1.md), [**gccxml**(1)](/gccxml/1.md).
