From: Martin Quinson Date: Sun, 7 Feb 2016 11:10:41 +0000 (+0100) Subject: compile Lua bindings as C++ code X-Git-Tag: v3_13~961 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/31fc9af64d1481ab1c2f368c2d689c68170e425c compile Lua bindings as C++ code --- diff --git a/src/bindings/lua/lua_debug.c b/src/bindings/lua/lua_debug.cpp similarity index 98% rename from src/bindings/lua/lua_debug.c rename to src/bindings/lua/lua_debug.cpp index 4dbe8c0cc3..ef795da9f3 100644 --- a/src/bindings/lua/lua_debug.c +++ b/src/bindings/lua/lua_debug.cpp @@ -12,11 +12,11 @@ * */ /* SimGrid Lua debug functions */ +extern "C" { #include +} #include "lua_utils.h" #include "xbt.h" -#include "xbt/log.h" - XBT_LOG_NEW_DEFAULT_SUBCATEGORY(lua_debug, bindings, "Lua helper functions"); @@ -221,7 +221,7 @@ int sglua_memory_writer(lua_State* L, const void* source, size_t size, sglua_buffer_t buffer = (sglua_buffer_t) userdata; while (buffer->capacity < buffer->size + size) { buffer->capacity *= 2; - buffer->data = xbt_realloc(buffer->data, buffer->capacity); + buffer->data = (char*)xbt_realloc(buffer->data, buffer->capacity); } memcpy(buffer->data + buffer->size, source, size); buffer->size += size; diff --git a/src/bindings/lua/lua_host.c b/src/bindings/lua/lua_host.cpp similarity index 100% rename from src/bindings/lua/lua_host.c rename to src/bindings/lua/lua_host.cpp diff --git a/src/bindings/lua/lua_platf.c b/src/bindings/lua/lua_platf.cpp similarity index 100% rename from src/bindings/lua/lua_platf.c rename to src/bindings/lua/lua_platf.cpp diff --git a/src/bindings/lua/lua_utils.h b/src/bindings/lua/lua_utils.h index 5f9f75f411..2eea739097 100644 --- a/src/bindings/lua/lua_utils.h +++ b/src/bindings/lua/lua_utils.h @@ -9,6 +9,8 @@ #ifndef LUA_UTILS_H #define LUA_UTILS_H +extern "C" { + #include /** @@ -30,4 +32,6 @@ void* sglua_checkudata_debug(lua_State* L, int ud, const char* tname); const char* sglua_get_spaces(int length); int sglua_memory_writer(lua_State* L, const void* source, size_t size, void* userdata); +} + #endif /* LUA_UTILS_H */ diff --git a/src/bindings/lua/simgrid_lua.c b/src/bindings/lua/simgrid_lua.cpp similarity index 99% rename from src/bindings/lua/simgrid_lua.c rename to src/bindings/lua/simgrid_lua.cpp index e3ed161ac1..40c9c8de91 100644 --- a/src/bindings/lua/simgrid_lua.c +++ b/src/bindings/lua/simgrid_lua.cpp @@ -17,8 +17,10 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(lua, bindings, "Lua Bindings"); +extern "C" { int luaopen_simgrid(lua_State *L); static void sglua_register_c_functions(lua_State *L); +} /* ********************************************************************************* */ /* simgrid API */ diff --git a/tools/cmake/DefinePackages.cmake b/tools/cmake/DefinePackages.cmake index db533c0db4..b52a896c88 100644 --- a/tools/cmake/DefinePackages.cmake +++ b/tools/cmake/DefinePackages.cmake @@ -523,10 +523,10 @@ list(APPEND JMSG_JAVA_SRC ${JTRACE_JAVA_SRC}) set(LUA_SRC src/bindings/lua/factories/host.lua - src/bindings/lua/lua_host.c - src/bindings/lua/lua_platf.c - src/bindings/lua/lua_debug.c - src/bindings/lua/simgrid_lua.c + src/bindings/lua/lua_host.cpp + src/bindings/lua/lua_platf.cpp + src/bindings/lua/lua_debug.cpp + src/bindings/lua/simgrid_lua.cpp ) set(TRACING_SRC