123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- SWIG (Simplified Wrapper and Interface Generator)
- Tagline: SWIG is a compiler that integrates C and C++ with languages
- including Perl, Python, Tcl, Ruby, PHP, Java, C#, D, Go, Lua,
- Octave, R, Scheme (Guile, MzScheme/Racket), Scilab, Ocaml.
- SWIG can also export its parse tree into XML.
- SWIG reads annotated C/C++ header files and creates wrapper code (glue
- code) in order to make the corresponding C/C++ libraries available to
- the listed languages, or to extend C/C++ programs with a scripting
- language.
- Up-to-date SWIG related information can be found at
- https://www.swig.org
- A SWIG FAQ and other hints can be found on the SWIG Wiki:
- https://github.com/swig/swig/wiki
- License
- =======
- Please see the LICENSE file for details of the SWIG license. For
- further insight into the license including the license of SWIG's
- output code, please visit
- https://www.swig.org/legal.html
- Release Notes
- =============
- Please see the CHANGES.current file for a detailed list of bug fixes and
- new features for the current release. The CHANGES file contains bug fixes
- and new features for older versions. A summary of changes in each release
- can be found in the RELEASENOTES file.
- Documentation
- =============
- The Doc/Manual directory contains the most recent set of updated
- documentation for this release. The documentation is available in
- three different formats, each of which contains identical content.
- These format are, pdf (Doc/Manual/SWIGDocumentation.pdf), single
- page html (Doc/Manual/SWIGDocumentation.html) or multiple page html
- (other files in Doc/Manual). Please select your chosen format and
- copy/install to wherever takes your fancy.
- There is some technical developer documentation available in the
- Doc/Devel subdirectory. This is not necessarily up-to-date, but it
- has some information on SWIG internals.
- Documentation is also online at https://www.swig.org/doc.html.
- Backwards Compatibility
- =======================
- The developers strive their best to preserve backwards compatibility
- between releases, but this is not always possible as the overriding
- aim is to provide the best wrapping experience. Where backwards
- compatibility is known to be broken, it is clearly marked as an
- incompatibility in the CHANGES and CHANGES.current files.
- See the documentation for details of the SWIG_VERSION preprocessor
- symbol if you have backward compatibility issues and need to use more
- than one version of SWIG.
- Installation
- ============
- Please read the Doc/Manual/Preface.html#Preface_installation for
- full installation instructions for Windows, Unix and Mac OS X
- using the release tarball/zip file. The INSTALL file has generic
- build and installation instructions for Unix users.
- Users wishing to build and install code from Github should
- visit https://swig.org/svn.html to obtain the more detailed
- instructions required for building code obtained from Github - extra
- steps are required compared to building from the release tarball.
- Testing
- =======
- The typical 'make -k check' can be performed on Unix operating systems.
- Please read Doc/Manual/Preface.html#Preface_testing for details.
- Examples
- ========
- The Examples directory contains a variety of examples of using SWIG
- and it has some browsable documentation. Simply point your browser to
- the file "Example/index.html".
- The Examples directory also includes Visual C++ project 6 (.dsp) files for
- building some of the examples on Windows. Later versions of Visual Studio
- will convert these old style project files into a current solution file.
- Known Issues
- ============
- There are minor known bugs, details of which are in the bug tracker, see
- https://www.swig.org/bugs.html.
- Troubleshooting
- ===============
- In order to operate correctly, SWIG relies upon a set of library
- files. If after building SWIG, you get error messages like this,
- $ swig foo.i
- :1. Unable to find 'swig.swg'
- :3. Unable to find 'tcl8.swg'
- it means that SWIG has either been incorrectly configured or
- installed. To fix this:
- 1. Make sure you remembered to do a 'make install' and that
- the installation actually worked. Make sure you have
- write permission on the install directory.
- 2. If that doesn't work, type 'swig -swiglib' to find out
- where SWIG thinks its library is located.
- 3. If the location is not where you expect, perhaps
- you supplied a bad option to configure. Use
- ./configure --prefix=pathname to set the SWIG install
- location. Also, make sure you don't include a shell
- escape character such as ~ when you specify the path.
- 4. The SWIG library can be changed by setting the SWIG_LIB
- environment variable. However, you really shouldn't
- have to do this.
- If you are having other troubles, you might look at the SWIG Wiki at
- https://github.com/swig/swig/wiki.
- Participate!
- ============
- Please report any errors and submit patches (if possible)! We only
- have access to a limited variety of hardware (Linux, Solaris, OS-X,
- and Windows). All contributions help.
- If you would like to join the SWIG development team or contribute a
- language module to the distribution, please contact the swig-devel
- mailing list, details at https://www.swig.org/mail.html.
- -- The SWIG Maintainers
|