@@ -59,22 +59,63 @@ extern LROT_TABLE(math);
5959 LROT_FUNCENTRY( debug, luaopen_debug )
6060
6161#if defined(LUA_CROSS_COMPILER )
62- extern LROT_TABLE (base_func );
62+
63+ #define LUAC_MODULE (map ) \
64+ LUALIB_API LROT_TABLE(map);
65+
66+ #define LUAC_MODULE_INIT (map , initfunc ) \
67+ LUAC_MODULE(map);\
68+ LUALIB_API int initfunc(lua_State *L);
69+
70+ #ifndef __MINGW32__
71+ LUAC_MODULE (thislib ) // module struct
72+ LUAC_MODULE (bit )
73+ LUAC_MODULE (color_utils )
74+ LUAC_MODULE_INIT (sjson , luaopen_sjson )
75+ LUAC_MODULE (pipe )
76+ #ifndef _MSC_VER
77+ LUAC_MODULE_INIT (pixbuf , luaopen_pixbuf )
78+ #endif
79+ #endif
80+
81+ LUAC_MODULE (base_func );
6382LROT_BEGIN (rotables_meta , NULL , LROT_MASK_INDEX )
6483 LROT_TABENTRY ( __index , base_func )
6584LROT_END (rotables_meta , NULL , LROT_MASK_INDEX )
6685
67- extern LROT_TABLE (oslib );
68- extern LROT_TABLE (iolib );
86+ LUAC_MODULE (oslib );
87+ LUAC_MODULE (iolib );
6988LROT_BEGIN (rotables , LROT_TABLEREF (rotables_meta ), 0 )
7089 LROT_ROM_ENTRIES
7190 LROT_TABENTRY ( os , oslib )
7291 LROT_TABENTRY ( io , iolib )
92+ #ifndef __MINGW32__
93+ // modules
94+ LROT_TABENTRY ( struct , thislib )
95+ LROT_TABENTRY (bit , bit )
96+ LROT_TABENTRY (color_utils , color_utils )
97+ LROT_TABENTRY (sjson , sjson )
98+ LROT_TABENTRY (pipe , pipe )
99+ #ifndef _MSC_VER
100+ LROT_TABENTRY (pixbuf , pixbuf )
101+ #endif
102+ #endif
73103LROT_END (rotables , LROT_TABLEREF (rotables_meta ), 0 )
74104
75105LROT_BEGIN (lua_libs , NULL , 0 )
76106 LROT_LIB_ENTRIES
77107 LROT_FUNCENTRY ( io , luaopen_io )
108+ #ifndef __MINGW32__
109+ // modules
110+ LROT_FUNCENTRY (struct , NULL )
111+ LROT_FUNCENTRY (bit , NULL )
112+ LROT_FUNCENTRY (color_utils , NULL )
113+ LROT_FUNCENTRY (sjson , luaopen_sjson )
114+ LROT_FUNCENTRY (pipe , NULL )
115+ #ifndef _MSC_VER
116+ LROT_FUNCENTRY (pixbuf , luaopen_pixbuf )
117+ #endif
118+ #endif
78119LROT_END (lua_libs , NULL , 0 )
79120
80121#else
0 commit comments