Update to reflect current directory structure. Drop unwritten sections on

differences from 1.1 (if nobody has yet written it, it seems unlikely anyone
will), and plans for 2.0 (since we're about to release it).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12042 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Olly Betts 2010-05-23 04:08:44 +00:00
commit 17a6b5424a

View file

@ -42,11 +42,9 @@ David M. Beazley <br>
</ul> </ul>
<li><a name="i3" href="#3">3. Types and Typemaps</a> <li><a name="i3" href="#3">3. Types and Typemaps</a>
<li><a name="i4" href="#4">4. Parsing</a> <li><a name="i4" href="#4">4. Parsing</a>
<li><a name="i5" href="#5">5. Difference Between SWIG 1.1 and SWIG 1.3</a> <li><a name="i5" href="#5">5. C/C++ Wrapper Support Functions</a>
<li><a name="i6" href="#6">6. Plans for SWIG 2.0</a> <li><a name="i6" href="#6">6. Symbol Naming Guidelines for Generated C/C++ Code</a>
<li><a name="i7" href="#7">7. C/C++ Wrapper Support Functions</a> <li><a name="i7" href="#7">7. Debugging SWIG</a>
<li><a name="i8" href="#8">8. Symbol Naming Guidelines for Generated C/C++ Code</a>
<li><a name="i9" href="#9">9. Debugging SWIG</a>
</ul> </ul>
<a name="1" href="#i1"> <a name="1" href="#i1">
@ -96,55 +94,35 @@ info.</td>
</tr> </tr>
<tr><td>Source</td> <tr><td>Source</td>
<td>SWIG source code is in this subdir tree. Directories marked w/ "(*)" <td>The C and C++ source code for the <tt>swig</tt> executable is in this
are used in building the <tt>swig</tt> executable. subdir tree.</td>
<table border=1> <table border=1>
<tr><td>DOH (*)</td> <tr><td>DOH</td>
<td>C library providing memory allocation, file access and generic <td>C library providing memory allocation, file access and generic
containers. Result: libdoh.a</td> containers.</td>
</tr> </tr>
<tr><td>Experiment</td> <tr><td>Include</td>
<td>[TODO]</td>
</tr>
<tr><td>Include (*)</td>
<td>Configuration .h files</td> <td>Configuration .h files</td>
</tr> </tr>
<tr><td>LParse</td> <tr><td>CParse</td>
<td>Parser (lex / yacc) files and support [why not (*)?!]</td> <td>Parser (lex / yacc) files and support</td>
</tr> </tr>
<tr><td>Modules</td> <tr><td>Modules</td>
<td>[TODO]</td>
</tr>
<tr><td>Modules1.1 (*)</td>
<td>Language-specific callbacks that does actual code generation (each <td>Language-specific callbacks that does actual code generation (each
language has a .cxx and a .h file). Result: libmodules11.a</td> language has a .cxx and a .h file).</td>
</tr> </tr>
<tr><td>Preprocessor (*)</td> <tr><td>Preprocessor</td>
<td>SWIG-specialized C/C++ preprocessor. Result: libcpp.a</td> <td>SWIG-specialized C/C++ preprocessor.</td>
</tr> </tr>
<tr><td>SWIG1.1 (*)</td> <tr><td>Swig</td>
<td>Parts of SWIG that are not language-specific, including option <td>This directory contains the ANSI C core of the system
processing and the type-mapping system. Result: libswig11.a.
Note: This directory is currently being phased out. </td>
</tr>
<tr><td>SWIG1.3</td>
<td>[TODO] [funny, nothing here is presently used for swig-1.3].
This directory might turn into a compatibility interface between
SWIG1.3 and the SWIG1.1 modules.</td>
</tr>
<tr><td>Swig (*)</td>
<td>This directory contains the new ANSI C core of the system
and contains generic functions related to types, file handling, and contains generic functions related to types, file handling,
scanning, and so forth.</td> scanning, and so forth.</td>
</tr> </tr>
@ -153,7 +131,7 @@ are used in building the <tt>swig</tt> executable.
</tr> </tr>
<tr><td>Tools</td> <tr><td>Tools</td>
<td>Libtool support and the mkdist.py script.</td> <td>The mkdist.py script and other tools.</td>
</tr> </tr>
<tr><td>Win</td> <tr><td>Win</td>
@ -172,14 +150,14 @@ to look for code:
<ul> <ul>
<li> <tt>Modules1.1/swigmain.cxx:main()</tt> is the program entry <li> <tt>Modules/swigmain.cxx:main()</tt> is the program entry
point. It parses the language-specifying command-line option (for point. It parses the language-specifying command-line option (for
example, <tt>-java</tt>), creating a new language-specific wrapping example, <tt>-java</tt>), creating a new language-specific wrapping
object (each language is a C++ class derived from base class object (each language is a C++ class derived from base class
<tt>Language</tt>). This object and the command-line is passed to <tt>Language</tt>). This object and the command-line is passed to
<tt>SWIG_main()</tt>, whose return value is the program exit value. <tt>SWIG_main()</tt>, whose return value is the program exit value.
<li> <tt>SWIG1.1/main.cxx:SWIG_main()</tt> is the "real" main. It <li> <tt>Modules/main.cxx:SWIG_main()</tt> is the "real" main. It
initializes the preprocessor and typemap machinery, defines some initializes the preprocessor and typemap machinery, defines some
preprocessor symbols, locates the SWIG library, processes common preprocessor symbols, locates the SWIG library, processes common
command-line options, and then calls the language-specific command-line command-line options, and then calls the language-specific command-line
@ -202,7 +180,7 @@ included <tt>-freeze</tt>, go into an infinite loop; otherwise return the
error count. error count.
<li> The language-specific <tt>parse()</tt> (and all other <li> The language-specific <tt>parse()</tt> (and all other
language-specific code) lives in <tt>Modules1.1/foo.{h,cxx}</tt> for language-specific code) lives in <tt>Modules/foo.{h,cxx}</tt> for
language Foo. Typically, <tt>FOO::parse()</tt> calls language Foo. Typically, <tt>FOO::parse()</tt> calls
<tt>FOO::headers()</tt> and then the global function <tt>yyparse()</tt>, <tt>FOO::headers()</tt> and then the global function <tt>yyparse()</tt>,
which uses the callbacks registered by <tt>SWIG_main()</tt> above. which uses the callbacks registered by <tt>SWIG_main()</tt> above.
@ -552,8 +530,7 @@ list item: listval5
The representation and manipulation of types is currently in the The representation and manipulation of types is currently in the
process of being reorganized and (hopefully) simplified. The process of being reorganized and (hopefully) simplified. The
following list describes the current set of functions that are used to following list describes the current set of functions that are used to
manipulate datatypes. These functions are different than in manipulate datatypes.
SWIG1.1 and may change names in the final SWIG1.3 release.
<ul> <ul>
<li><tt>SwigType_str(SwigType *t, char *name)</tt>.<br> <li><tt>SwigType_str(SwigType *t, char *name)</tt>.<br>
@ -709,19 +686,7 @@ repeated calls without making any copies.
[TODO] [TODO]
<a name="5" href="#i5"> <a name="5" href="#i5">
<h2>5. Difference Between SWIG 1.1 and SWIG 1.3</h2> <h2>5. The C/C++ Wrapping Layer</h2>
</a>
[TODO]
<a name="6" href="#i6">
<h2>6. Plans for SWIG 2.0</h2>
</a>
[TODO]
<a name="7" href="#i7">
<h2>7. The C/C++ Wrapping Layer</h2>
</a> </a>
Added: Dave Beazley (July 22, 2000) Added: Dave Beazley (July 22, 2000)
@ -1000,8 +965,8 @@ for specifying local variable declarations and argument conversions.
<a name="8" href="#i8"> <a name="6" href="#i6">
<h2>8. Symbol Naming Guidelines for Generated C/C++ Code</h2> <h2>6. Symbol Naming Guidelines for Generated C/C++ Code</h2>
</a> </a>
The C++ standard (ISO/IEC 14882:1998(E)) states: The C++ standard (ISO/IEC 14882:1998(E)) states:
<blockquote> <blockquote>
@ -1047,8 +1012,8 @@ For code compiled as C or C++ that attempts to mangle a wrapped symbol:
In the past SWIG has generated many symbols which flout the standard especially double underscores. In fact they may not all be rooted out yet, so please fix them when you see them. In the past SWIG has generated many symbols which flout the standard especially double underscores. In fact they may not all be rooted out yet, so please fix them when you see them.
<a name="9" href="#i9"> <a name="7" href="#i7">
<h2>9. Debugging SWIG</h2> <h2>7. Debugging SWIG</h2>
</a> </a>
Warning. Debugging SWIG is for the very patient. Warning. Debugging SWIG is for the very patient.
<p> <p>
@ -1099,7 +1064,7 @@ Please also read the Debugging Functions section in <a href="tree.html">SWIG Par
</p> </p>
<hr> <hr>
Copyright (C) 1999-2004 SWIG Development Team. Copyright (C) 1999-2010 SWIG Development Team.
</body> </body>
</html> </html>