summaryrefslogtreecommitdiff
path: root/src/plugin-luapsx.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugin-luapsx.cc')
-rw-r--r--src/plugin-luapsx.cc18
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);
+}
+
}