PageRenderTime 46ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/rel-1-3-15/SWIG/Doc/Manual/Preface.html

#
HTML | 195 lines | 148 code | 45 blank | 2 comment | 0 complexity | b507156e10a2dc999fc1fc1c44921811 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. <html>
  2. <head>
  3. <title>Preface</title>
  4. </head>
  5. <body bgcolor="#ffffff">
  6. <a name="n1"></a><H1>0 Preface</H1>
  7. <!-- INDEX -->
  8. <ul>
  9. <li><a href="#n2">Introduction</a>
  10. <li><a href="#n3">Special Introduction for Version 1.3</a>
  11. <li><a href="#n4">SWIG Versions</a>
  12. <li><a href="#n5">SWIG resources</a>
  13. <li><a href="#n6">Prerequisites</a>
  14. <li><a href="#n7">Organization of this manual</a>
  15. <li><a href="#n8">How to avoid reading the manual</a>
  16. <li><a href="#n9">Backwards Compatibility</a>
  17. <li><a href="#n10">Credits</a>
  18. <li><a href="#n11">Bug reports</a>
  19. </ul>
  20. <!-- INDEX -->
  21. <a name="n2"></a><H2>0.1 Introduction</H2>
  22. SWIG is a software development tool for building scripting language
  23. interfaces to C and C++ programs. Originally developed in 1995, SWIG was
  24. first used by scientists in the Theoretical Physics Division at Los Alamos National Laboratory for
  25. building user interfaces to simulation codes running on the Connection
  26. Machine 5 supercomputer. In this environment, scientists needed to
  27. work with huge amounts of simulation data, complex hardware, and a
  28. constantly changing code base. The use of a scripting language
  29. interface provided a simple yet highly flexible foundation for solving these
  30. types of problems. SWIG simplifies development by largely automating
  31. the task of scripting language integration--allowing developers and users
  32. to focus on more important problems.
  33. <p>
  34. Although SWIG was originally developed for scientific applications, it
  35. has since evolved into a general purpose tool that is used in a wide
  36. variety of applications--in fact almost anything where C/C++ programming
  37. is involved.
  38. <p>
  39. <a name="n3"></a><H2>0.2 Special Introduction for Version 1.3</H2>
  40. Since SWIG was released in 1996, its user base and applicability has
  41. continued to grow. Although its rate of development has varied, an
  42. active development effort has continued to make improvements to the
  43. system. Today, nearly a dozen developers are working to create
  44. SWIG-2.0---a system that aims to provide wrapping support for nearly
  45. all of the ANSI C++ standard and approximately ten target languages
  46. including Guile, Java, Mzscheme, Ocaml, Perl, Pike, PHP, Python, Ruby,
  47. and Tcl.
  48. <p>
  49. <a name="n4"></a><H2>0.3 SWIG Versions</H2>
  50. For several years, the most stable version of SWIG has been release
  51. 1.1p5. Starting with version 1.3, a new version numbering scheme has
  52. been adopted. Odd version numbers (1.3, 1.5, etc.) represent
  53. development versions of SWIG. Even version numbers (1.4, 1.6, etc.)
  54. represent stable releases. Currently, developers are working to
  55. create a stable SWIG-2.0 release (late 2002).
  56. <a name="n5"></a><H2>0.4 SWIG resources</H2>
  57. The official location of SWIG related material is<p>
  58. <blockquote><pre>
  59. <a href="http://www.swig.org">http://www.swig.org</a>
  60. </pre></blockquote>
  61. <p>
  62. This site contains the latest version of the software, users guide,
  63. and information regarding bugs, installation problems, and
  64. implementation tricks.
  65. <p>
  66. You can also subscribe to the SWIG mailing list by visiting the page
  67. <p>
  68. <blockquote><pre><a href="http://mailman.cs.uchicago.edu/listinfo/swig">http://mailman.cs.uchicago.edu/listinfo/swig</a>
  69. </pre></blockquote>
  70. <p>
  71. The mailing list often discusses some of the more technical aspects of
  72. SWIG along with information about beta releases and future work.<p>
  73. <p>
  74. CVS access to the latest version of SWIG is also available. More information
  75. about this can be obtained at:
  76. <p>
  77. <blockquote><pre><a href="http://www.swig.org/cvs.html">http://www.swig.org/cvs.html</a>
  78. </pre></blockquote>
  79. <a name="n6"></a><H2>0.5 Prerequisites</H2>
  80. This manual assumes that you know how to write C/C++ programs and that you
  81. have at least heard of scripting languages such as
  82. Tcl, Python, and Perl. A detailed knowledge of these scripting
  83. languages is not required although some familiarity won't
  84. hurt. No prior experience with building C extensions to these
  85. languages is required---after all, this is what SWIG does automatically.
  86. However, you should be reasonably familiar with the use of
  87. compilers, linkers, and makefiles since making
  88. scripting language extensions is somewhat more complicated than
  89. writing a normal C program.
  90. <a name="n7"></a><H2>0.6 Organization of this manual</H2>
  91. The first few chapters of this manual describe SWIG in general and
  92. provide an overview of its capabilities. The remaining chapters are
  93. devoted to specific SWIG language modules and are self
  94. contained. Thus, if you are using SWIG to build Python interfaces, you
  95. can probably skip to that chapter and find almost everything you need
  96. to know. Caveat: we are currently working on a documentation rewrite and many
  97. of the older language module chapters are still somewhat out of date.
  98. <a name="n8"></a><H2>0.7 How to avoid reading the manual</H2>
  99. If you hate reading manuals, glance at the "Introduction" which
  100. contains a few simple examples. These
  101. examples contain about 95% of everything you need to know to use
  102. SWIG. After that, simply use the language-specific chapters as a reference.
  103. The SWIG distribution also comes with a large directory of
  104. examples that illustrate different topics.
  105. <a name="n9"></a><H2>0.8 Backwards Compatibility</H2>
  106. If you are a previous user of SWIG, don't expect recent versions of
  107. SWIG to provide backwards compatibility. In fact, backwards
  108. compatibility issues may arise even between successive 1.3.x releases.
  109. Although these incompatibilities are regretable, SWIG-1.3 is an active
  110. development project. The primary goal of this effort is to make SWIG
  111. better---a process that would simply be impossible if the developers
  112. are constantly bogged down with backwards compatibility issues.
  113. <p>
  114. On a positive note, a few incompatibilities are a small price to pay
  115. for the large number of new features that have been
  116. added---namespaces, templates, smart pointers, overloaded methods,
  117. operators, and more.
  118. <a name="n10"></a><H2>0.9 Credits</H2>
  119. SWIG is an unfunded project that would not be possible without the
  120. contributions of many people. Most recent SWIG development has been
  121. supported by Matthias K&ouml;ppe, William Fulton, Lyle Johnson,
  122. Richard Palmer, Thien-Thi Nguyen, Jason Stewart, Loic Dachary, Masaki
  123. Fukushima, Luigi Ballabio, Sam Liddicott, Art Yerkes, Marcelo Matus, and Harco de Hilster.
  124. <p>
  125. Historically, the following people contributed to early versions of SWIG.
  126. Peter Lomdahl, Brad Holian, Shujia Zhou, Niels Jensen, and Tim Germann
  127. at Los Alamos National Laboratory were the first users. Patrick
  128. Tullmann at the University of Utah suggested the idea of automatic
  129. documentation generation. John Schmidt and Kurtis Bleeker at the
  130. University of Utah tested out the early versions. Chris Johnson
  131. supported SWIG's developed at the University of Utah. John Buckman,
  132. Larry Virden, and Tom Schwaller provided valuable input on the first
  133. releases and improving the portability of SWIG. David Fletcher and
  134. Gary Holt have provided a great deal of input on improving SWIG's
  135. Perl5 implementation. Kevin Butler contributed the first Windows NT
  136. port.
  137. <a name="n11"></a><H2>0.10 Bug reports</H2>
  138. Although every attempt has been made to make SWIG bug-free, we are also trying
  139. to make feature improvements that may introduce bugs.
  140. To report a bug, either send mail to the SWIG developer
  141. list at <tt>swig-dev@cs.uchicago.edu</tt> or report a bug
  142. at <tt>http://www.swig.org</tt>. In your report, be as specific as
  143. possible, including (if applicable), error messages, tracebacks (if a
  144. core dump occurred), corresponding portions of the SWIG interface file
  145. used, and any important pieces of the SWIG generated wrapper code. We
  146. can only fix bugs if we know about them.
  147. <p><hr>
  148. <address>SWIG 1.3 - Last Modified : August 10, 2002</address>
  149. </body>
  150. </html>