diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugin-luacd.cc | 10 | ||||
| -rw-r--r-- | src/plugin-luapsx.cc | 18 | 
2 files changed, 26 insertions, 2 deletions
diff --git a/src/plugin-luacd.cc b/src/plugin-luacd.cc index 5b10abc..f418f26 100644 --- a/src/plugin-luacd.cc +++ b/src/plugin-luacd.cc @@ -1,6 +1,12 @@  #include <BLua.h>  #include <luacd.h> +#ifndef WIN32 +#define WEAK __attribute__ ((weak)) +#else +#define WEAK +#endif +  static void _init_plugin(Lua * L) {      static bool done = false;      if (done) return; @@ -11,6 +17,10 @@ static void _init_plugin(Lua * L) {  extern "C" { +WEAK void init_plugin(Lua * L) { +    _init_plugin(L); +} +  void luacd_init(Lua * L) {      _init_plugin(L);  } 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); +} +  }  | 
