diff options
| -rw-r--r-- | Makefile.mingw32 | 66 | ||||
| -rw-r--r-- | src/lua-interface.cpp | 16 | 
2 files changed, 71 insertions, 11 deletions
| diff --git a/Makefile.mingw32 b/Makefile.mingw32 index 7c7d219..acb8e28 100644 --- a/Makefile.mingw32 +++ b/Makefile.mingw32 @@ -26,14 +26,18 @@ INCLUDES = \  -I../Baltisot/MSVC/iconv -I../Baltisot/MSVC/regex -I../Baltisot/MSVC \  -I../Mesa-7.0.3-mingw32/include \  -I../pthreads-w32-2-8-0-release/ \ --I../gnuwin32/include +-I../gnuwin32/include \ +-I../tinyxml \  HAVES = -DHAVE_VSSCANF -DHAVE_LIBJPEG -DHAVE_MALLOC_H -DHAVE_BYTESWAP_H -DHAVE_UCL -CPPFLAGS += $(INCLUDES) -g -fexceptions -DLUATASK_OMIT_COMMAND -DSTDC_HEADERS -DLIBICONV_PLUG -DREADLINE_STATIC -fexceptions -DWORDS_LITTLEENDIAN -march=i686 $(HAVES) -DUSE_MPQLIB +CPPFLAGS += $(INCLUDES) -g -fexceptions -DLUATASK_OMIT_COMMAND -DSTDC_HEADERS -DLIBICONV_PLUG -DREADLINE_STATIC -fexceptions -DWORDS_LITTLEENDIAN -march=i686 $(HAVES) -DUSE_MPQLIB -DFROM_LUAINTERFACE -LDFLAGS += -L../gnuwin32/lib -g -fexceptions -Wl,--enable-auto-image-base -Wl,--export-dynamic --export-all-symbols -Wl,--enable-auto-import -fexceptions \ -           ../libreadline-static.a -lz.dll -lucl.dll -lwsock32 -lws2_32 ../pthreads-w32-2-8-0-release/libpthreadGC2.a --enable-stdcall-fixup +LDFLAGS_BASIC += -g -fexceptions + +LDFLAGS += $(LDFLAGS_BASIC) -Wl,--enable-auto-image-base -Wl,--export-dynamic --export-all-symbols -Wl,--enable-auto-import -fexceptions --enable-stdcall-fixup + +LIBS += -L../gnuwin32/lib ../libreadline-static.a -lz.dll -lucl.dll -lwsock32 -lws2_32 ../pthreads-w32-2-8-0-release/libpthreadGC2.a  vpath %.c ../Baltisot/lib:../Baltisot/src:../Baltisot/lib/zlib/src:../Baltisot/lib/lua/src:../Baltisot/lib/lua/src/LuaLib:src:../paperIdol/src:../mogltk/lib:../tinyxml:../lua-modules/src:../Baltisot/MSVC/iconv:../Baltisot/MSVC/regex  vpath %.cc ../Baltisot/lib:../Baltisot/src:../Baltisot/lib/zlib/src:../Baltisot/lib/lua/src:../Baltisot/lib/lua/src/LuaLib:src:../paperIdol/src:../mogltk/lib:../tinyxml:../lua-modules/src:../Baltisot/MSVC/iconv:../Baltisot/MSVC/regex @@ -45,10 +49,11 @@ lua-interface-main.c \  LUAINTERFACE_LDFLAGS = -Wl,--whole-archive ../Mesa-7.0.3-mingw32/lib/libGLU.a ../Mesa-7.0.3-mingw32/lib/libOSMesa.a -Wl,--no-whole-archive -BALTISOT_SOURCES = \ +LUAINTERFACE_MAIN_SOURCES = \  lua-interface.cc \  lua-plugin.cc \ -\ + +BALTISOT_SOURCES = \  Main.cc \  \  RandISAAC.cc \ @@ -168,28 +173,67 @@ generic.cc \  checkargs.c \  datecalc.c \ +LUAINTERFACE_LIGHT_SOURCES = \ +plugin-luaconfigfiles.cc \ +plugin-luahandle.cc \ +plugin-luahttp.cc \ +plugin-lualibs.cc \ +plugin-luarand.cc \ +plugin-luaregex.cc \ +plugin-luasmtp.cc \ +plugin-luatask.cc \ +plugin-luaxml.cc \ +LuaConfigFile.cc \ +tinystr.cpp \ +tinyxml.cpp \ +tinyxmlerror.cpp \ +tinyxmlparser.cpp \ +LuaXML.cc \ +LuaHttp.cc \ +LuaRegex.cc \ +loadlualibs.cc \ +supportlib.lua \ +tasklib.lua \ +ajaxlib.lua \ +htmllib.lua \ +xmllib.lua \ +httplib.lua \ +dblib.lua \ +LuaSmtp.cc \  WHOLE_SOURCES = $(BALTISOT_SOURCES) $(LUA_SOURCES) $(LUAINTERFACE_SOURCES)  LUAINTERFACE_OBJECTS = $(addsuffix .o, $(notdir $(basename $(LUAINTERFACE_SOURCES)))) +LUAINTERFACE_MAIN_OBJECTS = $(addsuffix .o, $(notdir $(basename $(LUAINTERFACE_MAIN_SOURCES) $(LUA_SOURCES))))  LUAINTERFACE_DLL_OBJECTS = $(addsuffix .o, $(notdir $(basename $(BALTISOT_SOURCES) $(LUA_SOURCES)))) +LUAINTERFACE_LIGHT_OBJECTS = lua-interface-light.o $(addsuffix .o, $(notdir $(basename $(LUAINTERFACE_LIGHT_SOURCES))))  LUAC_OBJECTS = $(addsuffix .o, $(notdir $(basename $(LUAC_SOURCES) $(LUA_SOURCES))))  ALL_OBJECTS = $(addsuffix .o, $(notdir $(basename $(WHOLE_SOURCES))))  ALL_DEPS = $(addsuffix .dep, $(notdir $(basename $(WHOLE_SOURCES)))) -all: dep luac.exe lua-interface.dll lua-interface.exe +all: dep luac.exe lua-interface.dll lua-interface.exe lua-interface-light.exe  dep: $(ALL_DEPS)  luac.exe: $(LUAC_OBJECTS) -	$(LD) -o luac.exe $(LUAC_OBJECTS) $(LDFLAGS) +	$(LD) -o luac.exe $(LUAC_OBJECTS) $(LDFLAGS) $(LIBS) -lua-interface.dll: $(LUAINTERFACE_DLL_OBJECTS) -	$(LD) -shared -Wl,--output-def=lua-interface.def -Wl,--out-implib=lua-interface.a -o lua-interface.dll $(LUAINTERFACE_DLL_OBJECTS) $(LDFLAGS) $(LUAINTERFACE_LDFLAGS) +lua-interface.dll: $(LUAINTERFACE_DLL_OBJECTS) $(LUAINTERFACE_MAIN_OBJECTS) +	$(LD) -shared -Wl,--output-def=lua-interface.def -Wl,--out-implib=lua-interface.a -o lua-interface.dll $(LUAINTERFACE_DLL_OBJECTS) $(LUAINTERFACE_MAIN_OBJECTS) $(LDFLAGS) $(LUAINTERFACE_LDFLAGS) $(LIBS)  lua-interface.exe: $(LUAINTERFACE_OBJECTS) -	$(LD) -o lua-interface.exe $(LUAINTERFACE_OBJECTS) ./lua-interface.a $(LDFLAGS) +	$(LD) -o lua-interface.exe $(LUAINTERFACE_OBJECTS) ./lua-interface.a $(LDFLAGS) $(LIBS) + +lua-interface-light.exe: lua-interface-light.dll $(LUAINTERFACE_OBJECTS) +	$(LD) -o lua-interface-light.exe $(LUAINTERFACE_OBJECTS) ./lua-interface.a $(LDFLAGS) $(LIBS) + +lua-interface-light.dll: $(LUAINTERFACE_DLL_OBJECTS) lua-interface-light.o lua-plugin.o +	$(LD) -shared -Wl,--output-def=lua-interface.def -Wl,--out-implib=lua-interface.a -o lua-interface.dll lua-interface-light.o lua-plugin.o $(LUAINTERFACE_DLL_OBJECTS) $(LIBS) $(LDFLAGS) +	touch lua-interface-light.dll + +lua-interface-light.o: lua-interface.cpp +	$(CC) $(CPPFLAGS) -c -o lua-interface-light.o src/lua-interface.cpp -DLUA_INTERFACE_LIGHT  clean:  	rm -f lua-interface.dll lua-interface.exe luac.exe *.o *.dep *.a *.def diff --git a/src/lua-interface.cpp b/src/lua-interface.cpp index 4b1e949..0fef98a 100644 --- a/src/lua-interface.cpp +++ b/src/lua-interface.cpp @@ -84,6 +84,10 @@ extern void luacd_init(Lua * L) WEAK;  #define main dll_main  #endif +#ifdef LUA_INTERFACE_LIGHT +#define MODULES_BUILT_IN +#endif +  #ifdef _WIN32  #include <windows.h> @@ -320,12 +324,14 @@ int sLua_baselua_interface::baselua_interface_proceed_statics(Lua * L, int n, in  #if !(defined(NO_SMART_MODULES) || defined(MODULES_BUILT_IN))  	} else if ((filename == "luaconfigfiles") && (luaconfigfiles_init != NULL)) {              luaconfigfiles_init(L); +#ifndef LUA_INTERFACE_LIGHT  #ifndef _MSVC          } else if ((filename == "luaftgl") && (luaftgl_init != NULL)) {              luaftgl_init(L);          } else if ((filename == "luagl") && (luagl_init != NULL)) {              luagl_init(L);  #endif +#endif          } else if ((filename == "luahandle") && (luahandle_init != NULL)) {              luahandle_init(L);          } else if ((filename == "luahttp") && (luahttp_init != NULL)) { @@ -334,18 +340,23 @@ int sLua_baselua_interface::baselua_interface_proceed_statics(Lua * L, int n, in              luasmtp_init(L);          } else if ((filename == "lualibs") && (lualibs_init != NULL)) {              lualibs_init(L); +#ifndef LUA_INTERFACE_LIGHT  #ifndef _MSVC          } else if ((filename == "luaocci") && (luaocci_init != NULL)) {              luaocci_init(L);  #endif +#endif          } else if ((filename == "luaregex") && (luaregex_init != NULL)) {              luaregex_init(L); +#ifndef LUA_INTERFACE_LIGHT          } else if ((filename == "luasql") && (luasql_init != NULL)) {              luasql_init(L); +#endif          } else if ((filename == "luatask") && (luatask_init != NULL)) {              luatask_init(L);          } else if ((filename == "luaxml") && (luaxml_init != NULL)) {              luaxml_init(L); +#ifndef LUA_INTERFACE_LIGHT  #ifndef _MSVC          } else if ((filename == "luaosmesa") && (luaosmesa_init != NULL)) {              luaosmesa_init(L); @@ -353,6 +364,7 @@ int sLua_baselua_interface::baselua_interface_proceed_statics(Lua * L, int n, in          } else if ((filename == "luacd") && (luacd_init != NULL)) {              luacd_init(L);  #endif +#endif          } else {      	    LuaLoadPlugin(filename, L);      	} @@ -707,12 +719,15 @@ void autoload_exports(Lua * L) {          luasmtp_init(L);      if (luaregex_init)          luaregex_init(L); +#ifndef LUA_INTERFACE_LIGHT      if (luasql_init)          luasql_init(L); +#endif      if (luatask_init)          luatask_init(L);      if (luaxml_init)          luaxml_init(L); +#ifndef LUA_INTERFACE_LIGHT  #ifndef _MSVC      if (luaftgl_init)          luaftgl_init(L); @@ -726,6 +741,7 @@ void autoload_exports(Lua * L) {      if (luacd_init)          luacd_init(L);  #endif +#endif  }  virtual int startup() throw (GeneralException) { | 
