diff options
Diffstat (limited to 'src/plugin-luapsx.cc')
-rw-r--r-- | src/plugin-luapsx.cc | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/plugin-luapsx.cc b/src/plugin-luapsx.cc index e1f820c..e8c7713 100644 --- a/src/plugin-luapsx.cc +++ b/src/plugin-luapsx.cc @@ -1,13 +1,27 @@ #include <BLua.h> #include <luapsx.h> -extern "C" { +#ifndef WIN32 +#define WEAK __attribute__ ((weak)) +#else +#define WEAK +#endif -void init_plugin(Lua * L) { +static void _init_plugin(Lua * L) { static bool done = false; if (done) return; done = true; Luapsx::pushstatics(L); } +extern "C" { + +WEAK void init_plugin(Lua * L) { + _init_plugin(L); +} + +void luapsx_init(Lua * L) { + _init_plugin(L); +} + } |