mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-16 01:57:09 +00:00
227 lines
9.3 KiB
HTML
227 lines
9.3 KiB
HTML
|
<head>
|
||
|
<title>toLua++ - binding c/c++ code to lua</title>
|
||
|
</head>
|
||
|
|
||
|
<body bgcolor="white">
|
||
|
|
||
|
<h1>
|
||
|
<img src="toluapp.gif">tolua++ - Home</h1>
|
||
|
<p>
|
||
|
|
||
|
<a href="#news">news</a> -
|
||
|
<a href="#download">download</a> - <a href="#documentation">documentation</a> - <a href="#installing">installing</a> -
|
||
|
<a href="mailto:tolua@codenix.com">contact</a> - <a href="lua_qt/">lua_qt</a> - <a href="http://www.codenix.com">Codenix</a>
|
||
|
<br>
|
||
|
|
||
|
<hr>
|
||
|
|
||
|
<b>tolua++</b> is an extended version of <a href="http://www.tecgraf.puc-rio.br/~celes/tolua/">tolua</a>, a tool to integrate
|
||
|
C/C++ code with <A HREF="http://www.tecgraf.puc-rio.br/lua">Lua</A>. <b>tolua++</b>
|
||
|
includes new features oriented to c++ such as:
|
||
|
<p>
|
||
|
|
||
|
<ul>
|
||
|
<li> Support for <b>std::string</b> as a <a href="#basics">basic type</a> (this can be turned off by a command line option).</li>
|
||
|
<li> Support for <a href="#templates">class templates</a></li>
|
||
|
</ul>
|
||
|
<p>
|
||
|
|
||
|
As well as other features and bugfixes.
|
||
|
|
||
|
<hr>
|
||
|
<a name="news"></a>
|
||
|
<h3>News:</h3>
|
||
|
<p>
|
||
|
|
||
|
<b>15/02/09</b>: Version <b><a href="tolua++-1.0.93.tar.bz2">1.0.93</a></b> released. Some bugfixes and new features:
|
||
|
<p>
|
||
|
<ul>
|
||
|
<li> Build process bootstraps.
|
||
|
<li> Added hooks to handle custom types.
|
||
|
<li> Added hooks to handle exceptions.
|
||
|
<li> Fixed issues with newer GCC compilers.
|
||
|
<li> Changed to MIT license. See <a href="COPYRIGHT">COPYRIGHT</a> file for details.
|
||
|
</ul>
|
||
|
|
||
|
<b>27/04/06</b>: Version <b><a href="tolua++-1.0.92.tar.bz2">1.0.92</a></b> released. Some bugfixes and new features:
|
||
|
<p>
|
||
|
<ul>
|
||
|
<li> Fixed garbage collector bug for C objects.
|
||
|
<li> Fixed problems with C compilers (including microsoft's)
|
||
|
<li> Added a .proj file to build with Visual Studio 7 (contributed by Makoto Hamanaka).
|
||
|
<li> New command line option: <tt>-E</tt> to define extra values
|
||
|
<li> New command line option: <tt>-t</tt> to associate C++ types with their lua names (see the <a href="tolua++.html">manual</a> for details)
|
||
|
</ul>
|
||
|
|
||
|
<b>25/02/06</b>: Version <b><a href="tolua++-1.0.91.tar.bz2">1.0.91</a></b> released. This version contains a small garbage collection bugfix for 1.0.90 (thanks to Rolf E. Thorup for the report), everyone should upgrade.
|
||
|
<p>
|
||
|
|
||
|
<b>18/02/06</b>: Version <b><a href="tolua++-1.0.90.tar.bz2">1.0.90</a></b> released. Some bugfixes and new features:
|
||
|
<p>
|
||
|
<ul>
|
||
|
<li> <b>lua 5.1</b> support (see <tt>README-5.1</tt>)
|
||
|
<li> Support for casting operators (for example <tt>operator const char();</tt>)
|
||
|
<li> New utility functions, <tt>tolua.setpeer</tt> and <tt>tolua.getpeer</tt>, for easier (and faster) inheritance from C/C++ objects (only for lua 5.1)
|
||
|
<li> Some small API changes (see the <a href="tolua++.html#compatibility">compatibility section</a> of the manual)
|
||
|
</ul>
|
||
|
<p>
|
||
|
|
||
|
<b>18/10/05</b>: Version <b><a href="tolua++_1.0.7-1.tar.gz">1.0.7</a></b> released. Some bugfixes and new features:
|
||
|
<p>
|
||
|
<ul>
|
||
|
<li> New command line option: -C, to disable the cleanup of included lua code (for easier debugging).
|
||
|
<li> Merged <a href="http://lua-users.org/lists/lua-l/2005-09/msg00227.html">Mildred's</a> patch: embedded lua chunks have better names, code on package initializer function is nested.
|
||
|
<li> New hook: <tt>parser_hook</tt>, allows modifications to the behavior of the main parser.
|
||
|
<li> Objects can be private (or protected). This doesn't affect the normal usage (everything is public by default), but it's useful to declare types that don't export any code, but serve
|
||
|
as 'support' for other declarations.
|
||
|
<li> Misc bugfixes.
|
||
|
</ul>
|
||
|
<p>
|
||
|
|
||
|
<b>01/9/05</b>: Version <b><a href="tolua++_1.0.6-1.tar.gz">1.0.6</a></b> released. Several bugfixes and new features:
|
||
|
<p>
|
||
|
<ul>
|
||
|
<li> Classes can have properties, using the 'tolua_property' keyboard. Property types are customizable.
|
||
|
<li> Added a command line flag -D, to disable automatic generation of destructors for all classes with constructors (for compatibility with tolua5)
|
||
|
<li> Classes with protected or private destructors can be tagged individually using the "TOLUA_PROTECTED_DESTRUCTOR" macro.
|
||
|
<li> Added utility function "tolua.inherit", to allow a lua table to "inherit" from an instance of a C/C++ class
|
||
|
<li> Fixed class constructor bug (it is now possible to use 'ClassName()' to create a lua-owned instance of the class without problems)
|
||
|
<li> Misc bugfixes.
|
||
|
</ul>
|
||
|
<p>
|
||
|
|
||
|
<b>10/4/05</b>: Version <b><a href="tolua++_1.0.5-1.tar.gz">1.0.5</a></b> released. This version contains some minor bugfixes and a new feature,
|
||
|
the <b>tolua_outside</b> keyword, used to specify regular functions as methods of classes or structs. This release is also paired with <a href="lua_qt/">lua_qt</a>
|
||
|
version 0.0.1a.
|
||
|
<p>
|
||
|
|
||
|
<b>1/2/05</b>: version <b><a href="tolua++-1.0.4.tar.bz2">1.0.4</a></b> released. This version contains some bugfixes and new features:
|
||
|
<p>
|
||
|
<ul>
|
||
|
<li> Ability to customize tolua++'s behaviour to add functionality.
|
||
|
<li> Basic support for multiple inheritance.
|
||
|
<li> Several bugfixes on the parser.
|
||
|
<li> <a href="tolua++_1.0.4-3_i386.deb">Debian package</a> available for download.
|
||
|
</ul>
|
||
|
<p>
|
||
|
|
||
|
Most of the changes on this version were added for <a href="lua_qt/">lua_qt</a>, a package
|
||
|
to bind the <a href="http://www.trolltech.com/products/qt/index.html">Qt</a> toolkit to lua.
|
||
|
<p>
|
||
|
|
||
|
<b>20/9/04</b>: version <b><a href="tolua++-1.0.3.tar.bz2">1.0.3</a></b> released. This version contains major bugfixes:
|
||
|
<p>
|
||
|
<ul>
|
||
|
<li> Fixed bugs in object tracking (the 'memory address' bug; there's still some work left, but people should be able to use <tt>union</tt>s with no problems)</li>
|
||
|
<li> Fixed parser bugs, functions with template parameters should work, also functions with default parameters that call constructos and with commas on them should work.</li>
|
||
|
<li> Added a <tt>__call</tt> method for class names, to replace <tt>new_local</tt> to create instances owned by lua.
|
||
|
<li> Fixed other minor bugs.</li>
|
||
|
<li> Removed the link to win32 binaries, since I aparently don't know what the hell I'm doing with a microsoft compiler ;-)</li>
|
||
|
</ul>
|
||
|
<p>
|
||
|
|
||
|
Everyone should upgrade.
|
||
|
<p>
|
||
|
|
||
|
<b>23/10/03</b>: version <b><a href="tolua++-1.0.2.tar.bz2">1.0.2</a></b> released. This version contains major bugfixes:
|
||
|
<p>
|
||
|
<ul>
|
||
|
<li> Fixed bugs in gargabe collection (thanks to <b>Christian Vogler</b> for doing all the work :-)</li>
|
||
|
<li> <tt>namespace</tt>s and nested types are now fully supported.</li>
|
||
|
<li> Fixed other minor bugs.</li>
|
||
|
</ul>
|
||
|
<p>
|
||
|
|
||
|
Everyone should upgrade.
|
||
|
|
||
|
<hr>
|
||
|
|
||
|
<a name="download"></a>
|
||
|
<h3>Downloading</B></H3>
|
||
|
|
||
|
The latest development version of the code is available through SVN from tolua++'s BerliOS project page. You can checkout using:
|
||
|
|
||
|
svn checkout svn://svn.berlios.de/toluapp/trunk
|
||
|
|
||
|
The <B>tolua++</B> source is freely available by http.
|
||
|
The software provided under the terms of the MIT license. See the <a href="COPYRIGHT">COPYRIGHT</a> file distributed
|
||
|
with the source.
|
||
|
<p>
|
||
|
|
||
|
Current version is <b><a href="tolua++-1.0.93.tar.bz2">1.0.93</a></b>, older versions:
|
||
|
<p>
|
||
|
<li> <a href="tolua++-1.0.93.tar.bz2">tolua++-1.0.93.tar.bz2</a>
|
||
|
<li> <a href="tolua++-1.0.92.tar.bz2">tolua++-1.0.92.tar.bz2</a>
|
||
|
<li> <a href="tolua++-1.0.91.tar.bz2">tolua++-1.0.91.tar.bz2</a>
|
||
|
<li> <a href="tolua++_1.0.7-1.tar.gz">tolua++_1.0.7-1.tar.gz</a> [<a href="tolua++_1.0.7-1_i386.deb">deb</a>]
|
||
|
<li> <a href="tolua++_1.0.6-1.tar.gz">tolua++_1.0.6-1.tar.gz</a> [<a href="tolua++_1.0.6-1_i386.deb">deb</a>]
|
||
|
<li> <a href="tolua++_1.0.5-1.tar.gz">tolua++_1.0.5-1.tar.gz</a> [<a href="tolua++_1.0.5-1_i386.deb">deb</a>]
|
||
|
<li> <a href="tolua++-1.0.4.tar.bz2">tolua++-1.0.4.tar.bz2</a> [<a href="tolua++_1.0.4-3_i386.deb">deb</a>]
|
||
|
<li> <a href="tolua++-1.0.3.tar.bz2">tolua++-1.0.3.tar.bz2</a>
|
||
|
<li> <a href="tolua++-1.0.2.tar.bz2">tolua++-1.0.2.tar.bz2</a>
|
||
|
<li> <a href="tolua++-1.0.tar.bz2">tolua++-1.0.tar.bz2</a>
|
||
|
|
||
|
<hr>
|
||
|
|
||
|
<a name="documentation"></a>
|
||
|
<h3>Documentation</h3>
|
||
|
<p>
|
||
|
You can find the manual <a href="tolua++.html">here</a> or under the doc/ directory
|
||
|
on the distribution.
|
||
|
<p>
|
||
|
|
||
|
I'll also be adding interesting addons/examples to <a href="http://lua-users.org/wiki/ArielManzur">my page</a>
|
||
|
on the <a href="http://lua-users.org/">lua-users wiki</a>.
|
||
|
|
||
|
<hr>
|
||
|
|
||
|
<a name="installing"></a>
|
||
|
<h3>Instalation</h3>
|
||
|
<p>
|
||
|
|
||
|
tolua++ uses <a href="http://www.scons.org">SCons</a> to build. SCons is based on
|
||
|
python, you can get a stand-alone version on <a href="http://www.scons.org">
|
||
|
their website</a>. After you have SCons, follow this simple instructions:
|
||
|
<p>
|
||
|
|
||
|
<li> Type '<b>scons all</b>' to compile.</li>
|
||
|
<li> Type '<b>scons install</b>'. The default install prefix is /usr/local, so if you are
|
||
|
on a POSIX system, it should work. On other systems, you can change it with the
|
||
|
'<b>prefix</b>' option on command line.
|
||
|
<p>
|
||
|
|
||
|
<b>scons prefix=/usr install</b>
|
||
|
<p>
|
||
|
<i>or on windows</i>
|
||
|
<p>
|
||
|
<b>scons "prefix=c:\Program Files\Visual C" install</b>
|
||
|
<p>
|
||
|
|
||
|
Use <b>scons -h</b> to see a list of available command line options.
|
||
|
|
||
|
<p>
|
||
|
The files you need (in case you want to do a <b>manual install</b>) are:
|
||
|
<ul>
|
||
|
<li> bin/tolua++[.exe] - the main binary
|
||
|
<li> include/tolua++.h - the header file
|
||
|
<li> lib/libtolua++.a <i>or</i> lib/tolua++.lib - the library
|
||
|
</ul>
|
||
|
|
||
|
<li> See INSTALL for instructions on how to install without SCons. There are also instructions on how
|
||
|
to build without scons at the <a href="http://lua-users.org/wiki/CompilingToluappWithoutScons">lua-users wiki</a>
|
||
|
(if you know the author of this, <a href="mailto:tolua@codenix.com">contact me</a>)</li>
|
||
|
|
||
|
<li> For <b>lua 5.1</b>, see <tt>README-5.1</tt>
|
||
|
|
||
|
<hr>
|
||
|
|
||
|
<b>tolua++</b> and this website are maintained by Ariel Manzur.<br>
|
||
|
<a href="http://www.codenix.com/index.php?section=contact">Contact us</a> with any
|
||
|
bugs, fixes, suggestions, or questions about this package.
|
||
|
|
||
|
<hr>
|
||
|
|
||
|
|
||
|
</body>
|
||
|
|