comparison lib/swig/swigwin-2.0.11/Lib/lua/luaruntime.swg @ 1899:b3009adc0e2f

Adding swig, gitignore, hgignore
author Nomad
date Mon, 21 Oct 2013 10:42:27 +0200
parents
children
comparison
equal deleted inserted replaced
1867:eb580660bbbb 1899:b3009adc0e2f
1 /* -----------------------------------------------------------------------------
2 * luaruntime.swg
3 *
4 * all the runtime code for .
5 * ----------------------------------------------------------------------------- */
6
7 %runtime "swigrun.swg"; /* Common C API type-checking code */
8 %runtime "luarun.swg"; /* Lua runtime stuff */
9
10 %insert(initbeforefunc) "swiginit.swg"
11
12 %insert(initbeforefunc) %{
13
14 /* Forward declaration of where the user's %init{} gets inserted */
15 void SWIG_init_user(lua_State* L );
16
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 /* this is the initialization function
21 added at the very end of the code
22 the function is always called SWIG_init, but an earlier #define will rename it
23 */
24 #if ((SWIG_LUA_TARGET == SWIG_LUA_FLAVOR_ELUA) || (SWIG_LUA_TARGET == SWIG_LUA_FLAVOR_ELUAC))
25 LUALIB_API int SWIG_init(lua_State* L)
26 #else
27 SWIGEXPORT int SWIG_init(lua_State* L) /* default Lua action */
28 #endif
29 {
30 #if (SWIG_LUA_TARGET != SWIG_LUA_FLAVOR_ELUAC) /* valid for both Lua and eLua */
31 int i;
32 /* start with global table */
33 lua_pushglobaltable (L);
34 /* SWIG's internal initalisation */
35 SWIG_InitializeModule((void*)L);
36 SWIG_PropagateClientData();
37 #endif
38
39 #if ((SWIG_LUA_TARGET != SWIG_LUA_FLAVOR_ELUA) && (SWIG_LUA_TARGET != SWIG_LUA_FLAVOR_ELUAC))
40 /* add a global fn */
41 SWIG_Lua_add_function(L,"swig_type",SWIG_Lua_type);
42 SWIG_Lua_add_function(L,"swig_equals",SWIG_Lua_equal);
43 /* begin the module (its a table with the same name as the module) */
44 SWIG_Lua_module_begin(L,SWIG_name);
45 /* add commands/functions */
46 for (i = 0; swig_commands[i].name; i++){
47 SWIG_Lua_module_add_function(L,swig_commands[i].name,swig_commands[i].func);
48 }
49 /* add variables */
50 for (i = 0; swig_variables[i].name; i++){
51 SWIG_Lua_module_add_variable(L,swig_variables[i].name,swig_variables[i].get,swig_variables[i].set);
52 }
53 #endif
54
55 #if (SWIG_LUA_TARGET != SWIG_LUA_FLAVOR_ELUAC)
56 /* set up base class pointers (the hierarchy) */
57 for (i = 0; swig_types[i]; i++){
58 if (swig_types[i]->clientdata){
59 SWIG_Lua_init_base_class(L,(swig_lua_class*)(swig_types[i]->clientdata));
60 }
61 }
62 /* additional registration structs & classes in lua */
63 for (i = 0; swig_types[i]; i++){
64 if (swig_types[i]->clientdata){
65 SWIG_Lua_class_register(L,(swig_lua_class*)(swig_types[i]->clientdata));
66 }
67 }
68 #endif
69
70 #if ((SWIG_LUA_TARGET != SWIG_LUA_FLAVOR_ELUA) && (SWIG_LUA_TARGET != SWIG_LUA_FLAVOR_ELUAC))
71 /* constants */
72 SWIG_Lua_InstallConstants(L,swig_constants);
73 #endif
74
75 #if (SWIG_LUA_TARGET != SWIG_LUA_FLAVOR_ELUAC)
76 /* invoke user-specific initialization */
77 SWIG_init_user(L);
78 /* end module */
79 /* Note: We do not clean up the stack here (Lua will do this for us). At this
80 point, we have the globals table and out module table on the stack. Returning
81 one value makes the module table the result of the require command. */
82 return 1;
83 #else
84 return 0;
85 #endif
86 }
87
88 #ifdef __cplusplus
89 }
90 #endif
91
92 %}
93
94 /* Note: the initialization function is closed after all code is generated */
95