components/swig/swig.1
author Kevin Crowe <Kevin.Crowe@oracle.com>
Wed, 30 Mar 2011 10:49:46 -0700
changeset 159 315fcb0d53a0
child 181 87e11e685b1f
permissions -rw-r--r--
7026497 migrate swig to userland
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
159
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
     1
'\" t
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
     2
.\"
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
     3
.\" Modified for Solaris to to add the Solaris stability classification,
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
     4
.\" and to add a note about source availability.
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
     5
.\" 
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
     6
.\"
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
     7
.\" 
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
     8
.\"
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
     9
.\" generic swig man page for the swig Project
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    10
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    11
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    12
.TH swig 1 "19 Jun 2008" "swig 1.3.35" "User commands"
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    13
.SH NAME
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    14
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    15
swig <options> filename
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    16
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    17
.SH SYNOPSIS
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    18
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    19
/usr/bin/swig -help   [ For commandline help ]
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    20
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    21
.SH DESCRIPTION
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    22
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    23
\fBswig\fR - The Simplified Wrapper and Interface Generator (swig) is an open source code interface compiler that connects programs written in C and C++ with scripting languages such as Perl, Python, Ruby, and Tcl. It works by taking the declarations found in C/C++ header files and using them to generate the wrapper code that scripting languages need to access the underlying C/C++ code. In addition, SWIG provides a variety of customization features that let you tailor the wrapping process to suit your application.
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    24
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    25
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    26
SWIG is used in a number of ways:
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    27
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    28
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    29
Building more powerful C/C++ programs. Using SWIG, you can replace the main() function of a C program with a scripting interpreter from which you can control the application. This adds quite a lot of flexibility and makes the program "programmable." That is, the scripting interface allows users and developers to easily modifiy the behavior of the program without having to modify low-level C/C++ code. The benefits of this are numerous. In fact think of all of the large software packages that you use every day---nearly all of them include special a macro language, configuration language, or even a scripting engine that allows users to make customizations.
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    30
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    31
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    32
Rapid prototyping and debugging. SWIG allows C/C++ programs to be placed in a scripting environment that can be used for testing and debugging. For example, you might test a library with a collection of scripts or use the scripting interpreter as an interactive debugger. Since SWIG requires no modifications to the underlying C/C++ code, it can be used even if the final product does not rely upon scripting.
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    33
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    34
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    35
Systems integration. Scripting languages work fairly well for controlling and gluing loosely-coupled software components together. With SWIG, different C/C++ programs can be turned into scripting language extension modules. These modules can then be combined together to create new and interesting applications.
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    36
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    37
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    38
Construction of scripting language extension modules. SWIG can be used to turn common C/C++ libraries into components for use in popular scripting languages. Of course, you will still want to make sure that no-one else has already created a module before doing this. 
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    39
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    40
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    41
.SH "SEE ALSO"
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    42
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    43
Installed documentation: /usr/share/swig/1.3.35/doc
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    44
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    45
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    46
Additional online documentation in HTML and PDF formats for swig:
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    47
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    48
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    49
User Manual: http://www.swig.org/Doc1.1/HTML/Contents.html
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    50
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    51
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    52
Developer Doc: http://www.swig.org/Doc1.3/index.html 
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    53
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    54
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    55
Quick start Tutorial: http://www.swig.org/tutorial.html
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    56
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    57
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    58
SWIG WIKI: http://en.wikipedia.org/wiki/SWIG
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    59
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    60
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    61
The Latest full source download: http://www.swig.org/download.html
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    62
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    63
.P
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    64
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    65
.SH AUTHOR
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    66
.br
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    67
\fBswig\fR was originally written by Dave Beazley, and is now maintained and developed by an team of developers see: http://www.swig.org/guilty.html.  Further details are available at \fIhttp://www.swig.org/index.html\fR.  swig is released under the \fIswig License\fR.
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    68
.LP
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    69
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    70
.\" Begin Oracle update
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    71
.SH ATTRIBUTES
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    72
See
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    73
.BR attributes (5)
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    74
for descriptions of the following attributes:
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    75
.sp
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    76
.TS
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    77
box;
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    78
cbp-1 | cbp-1
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    79
l | l .
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    80
ATTRIBUTE TYPE	ATTRIBUTE VALUE
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    81
=
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    82
Availability	developer/swig 
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    83
=
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    84
Interface Stability	Volatile 
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    85
.TE 
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    86
.PP
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    87
.SH NOTES
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    88
Source for swig is available on http://opensolaris.org.
315fcb0d53a0 7026497 migrate swig to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents:
diff changeset
    89
.\" End Oracle update