OS Manuals

/usr/bin/swig

A compiler that makes it easy to integrate C and C++ code with scripting languages

From swig 4.5.1-r0 (os), captured 2026-11-05 by running swig --help (exit 0). permalink

Supported Target Language Options
     -csharp         - Generate C# wrappers
     -d              - Generate D wrappers
     -go             - Generate Go wrappers
     -guile          - Generate Guile wrappers
     -java           - Generate Java wrappers
     -javascript     - Generate Javascript wrappers
     -lua            - Generate Lua wrappers
     -octave         - Generate Octave wrappers
     -perl5          - Generate Perl 5 wrappers
     -php7           - Generate PHP 8 or later wrappers
     -python         - Generate Python wrappers
     -r              - Generate R (aka GNU S) wrappers
     -ruby           - Generate Ruby wrappers
     -scilab         - Generate Scilab wrappers
     -tcl8           - Generate Tcl 8 wrappers
     -xml            - Generate XML wrappers

Experimental Target Language Options
     -c              - Generate C wrappers
     -ocaml          - Generate OCaml wrappers

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)
     -cppext <ext>   - Change file extension of generated C++ files to <ext>
                       (default is cxx)
     -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-quiet    - Display less parse tree node debug info when using other -debug options
     -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)
     -D<symbol>[=<value>] - Define 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           - Display help
     -I-             - Don't search the current directory
     -I<dir>         - Look for SWIG files in directory <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>
     -macroerrors    - Report errors inside macros
     -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
     -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 C/C++ output file to <outfile>
     -oh <headfile>  - Set name of C++ output header file for directors 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 PCRE2 version information
     -small          - Compile in virtual elimination and compact mode
     -std=<standard> - Set the C or C++ language <standard> for inputs
     -swiglib        - Report location of SWIG library and exit
     -templatereduce - Reduce all the typedefs in templates
     -U<symbol>      - Undefine symbol <symbol>
     -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: 309,403,405,512,321,322
     -w<list>        - Suppress/add warning messages, eg -w401,+321 - see Warnings.html
     -xmlout <file>  - Write XML version of the parse tree to <file> after normal processing

Options can also be defined using the SWIG_FEATURES environment variable, for example:

  $ SWIG_FEATURES="-Wall"
  $ export SWIG_FEATURES
  $ swig -python interface.i

is equivalent to:

  $ swig -Wall -python interface.i

Arguments may also be passed in a file, separated by whitespace. For example:

  $ echo "-Wall -python interface.i" > args.txt
  $ swig @args.txt


Note: 'swig -<lang> -help' displays options for a specific target language.
Options (81)
OptionDescriptionSource
-csharp- Generate C# wrappershelp
-d- Generate D wrappershelp
-go- Generate Go wrappershelp
-guile- Generate Guile wrappershelp
-java- Generate Java wrappershelp
-javascript- Generate Javascript wrappershelp
-lua- Generate Lua wrappershelp
-octave- Generate Octave wrappershelp
-perl5- Generate Perl 5 wrappershelp
-php7- Generate PHP 8 or later wrappershelp
-python- Generate Python wrappershelp
-r- Generate R (aka GNU S) wrappershelp
-ruby- Generate Ruby wrappershelp
-scilab- Generate Scilab wrappershelp
-tcl8- Generate Tcl 8 wrappershelp
-xml- Generate XML wrappershelp
-c- Generate C wrappershelp
-ocaml- Generate OCaml wrappershelp
-addextern- Add extra extern declarationshelp
-c++- Enable C++ processinghelp
-co file- Check <file> out of the SWIG libraryhelp
-copyctor- Automatically generate copy constructors wherever possiblehelp
-cpperraswarn- Treat the preprocessor #error statement as #warning (default)help
-cppext ext- Change file extension of generated C++ files to <ext> (default is cxx)help
-copyright- Display copyright noticeshelp
-debug-classes- Display information about the classes found in the interfacehelp
-debug-symtabs- Display symbol tables informationhelp
-debug-symbols- Display target language symbols in the symbol tableshelp
-debug-quiet- Display less parse tree node debug info when using other -debug optionshelp
-debug-tags- Display information about the tags found in the interfacehelp
-debug-top n- Display entire parse tree at stages 1-4, <n> is a csv list of stageshelp
-debug-typedef- Display information about the types and typedefs in the interfacehelp
-debug-typemap- Display typemap debugging informationhelp
-debug-tmused- Display typemaps used debugging informationhelp
-directors- Turn on director mode for all the classes, mainly for testinghelp
-dirprot- Turn on wrapping of protected members for director classes (default)help
-E- Preprocess only, does not generate wrapper codehelp
-fcompact- Compile in compact modehelp
-fastdispatch- Enable fast dispatch mode to produce faster overload dispatcher codehelp
-Fmicrosoft- Display error/warning messages in Microsoft formathelp
-Fstandard- Display error/warning messages in commonly used formathelp
-fvirtual- Compile in virtual elimination modehelp
-help- Display helphelp
-I-- Don't search the current directoryhelp
-I dir- Look for SWIG files in directory <dir>help
-ignoremissing- Ignore missing include fileshelp
-importall- Follow all #include statements as importshelp
-includeall- Follow all #include statementshelp
-l ifile- Include SWIG library file <ifile>help
-macroerrors- Report errors inside macroshelp
-M- List all dependencieshelp
-MD- Is equivalent to `-M -MF <file>', except `-E' is not impliedhelp
-MF file- Generate dependencies into <file> and continue generating wrappershelp
-MM- List dependencies, but omit files in SWIG libraryhelp
-MMD- Like `-MD', but omit files in SWIG libraryhelp
-module name- Set module name to <name>help
-MP- Generate phony targets for all dependencieshelp
-MT target- Set the target of the rule emitted by dependency generationhelp
-nocontract- Turn off contract checkinghelp
-nodefaultctor- Do not generate implicit default constructorshelp
-nodefaultdtor- Do not generate implicit default destructorshelp
-nodirprot- Do not wrap director protected membershelp
-noexcept- Do not wrap exception specifiershelp
-nopreprocess- Skip the preprocessor stephelp
-O- Enable the optimization options:help
-o outfile- Set name of C/C++ output file to <outfile>help
-oh headfile- Set name of C++ output header file for directors to <headfile>help
-outcurrentdir- Set default output dir to current dir instead of input file's pathhelp
-outdir dir- Set language specific files output directory to <dir>help
-pcreversion- Display PCRE2 version informationhelp
-small- Compile in virtual elimination and compact modehelp
-swiglib- Report location of SWIG library and exithelp
-U symbol- Undefine symbol <symbol>help
-v- Run in verbose modehelp
-version- Display SWIG version numberhelp
-Wall- Remove all warning suppression, also implies -Wextrahelp
-Wallkw- Enable keyword warnings for all the supported languageshelp
-Werror- Treat warnings as errorshelp
-Wextra- Adds the following additional warnings: 309,403,405,512,321,322help
-w list- Suppress/add warning messages, eg -w401,+321 - see Warnings.htmlhelp
-xmlout file- Write XML version of the parse tree to <file> after normal processinghelp

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.