Lua: document rocklib_aux.pl a bit, so it's easier to find out about it when stumbling over a CC error in rocklib_aux.c

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26912 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Maurus Cuelenaere 2010-06-18 12:28:34 +00:00
parent 952d9bc038
commit d8cef9c078
2 changed files with 18 additions and 1 deletions

View file

@ -38,6 +38,10 @@
* a C function just pushes them onto the stack, in direct order (the first result is pushed first), * a C function just pushes them onto the stack, in direct order (the first result is pushed first),
* and returns the number of results. Any other value in the stack below the results will be properly * and returns the number of results. Any other value in the stack below the results will be properly
* discarded by Lua. Like a Lua function, a C function called by Lua can also return many results. * discarded by Lua. Like a Lua function, a C function called by Lua can also return many results.
*
* When porting new functions, don't forget to check rocklib_aux.pl whether it automatically creates
* wrappers for the function and if so, add the function names to @forbidden_functions. This is to
* prevent namespace collisions and adding duplicate wrappers.
*/ */

View file

@ -18,6 +18,13 @@
# #
############################################################################ ############################################################################
# The purpose of this script is to automatically generate Lua wrappers for
# (easily) portable C functions used in the Rockbox plugin API.
# It doesn't contain support for enums, structs or pointers (apart from char*).
#
# The output will be written to <build_dir>/apps/plugins/lua/rocklib_aux.c
sub trim sub trim
{ {
my $text = $_[0]; my $text = $_[0];
@ -40,6 +47,9 @@ sub rand_string
my @functions; my @functions;
my @ported_functions; my @ported_functions;
# These functions are excluded from automatically wrapping. This is useful if
# you want to manually port them to Lua. The format is a standard Perl regular
# expression.
my @forbidden_functions = ('^open$', my @forbidden_functions = ('^open$',
'^close$', '^close$',
'^read$', '^read$',
@ -111,7 +121,10 @@ my $svnrev = '$Revision$';
# Print the header # Print the header
print <<EOF print <<EOF
/* Automatically generated of $svnrev from rocklib.c & plugin.h */ /* Automatically generated from rocklib.c & plugin.h ($svnrev)
*
* See apps/plugins/lua/rocklib_aux.pl for the generator.
*/
#define lrocklib_c #define lrocklib_c
#define LUA_LIB #define LUA_LIB