As someone else has said to me privately in an email, others have tried and failed where I am walking. (In my head I paraphrase that to say better men than I have died in these waters! tee hee). That said loud and clear to me that *something* needs to be done because others have seen the painful need too (especially in the age of so much choice). I do think things are much different now. It looks to me like the change from 5.1 to 5.3 was where the schism really occurred. The death of luadist and luaforge has really coalesced people around LuaRocks and I think we have a chance to explore that and bringing the Lua pattern in line with some of the other languages. Like one frigging exe to run all your scripts.
I've also heard of efforts in standardizing Lua on nix projects as well. If possible, I'll leverage that too in both directions (FreeBSD to Windows and vise-versa).
Also, with my discovery of JamPlus, it makes compiling C on Windows really easy. Here is the example jam file that builds 'dtlua' plus two 5.1 and 5.4:
SubDir TOP ;
# Output all of our user-facing files into the bin/ directory.
BIN_PATH = bin ;
C.OutputPath * : $(BIN_PATH) ;
###############################################################################
# Create the lua54 shared library.
###############################################################################
C.ActiveTarget lua54 ;
# Tell Lua's code to export the appropriate functions to the DLL.
C.Defines : LUA_BUILD_AS_DLL ;
C.IncludeDirectories : lua-5.4.0-work1/src ;
#C.Library : lua/*@=**.c@=**.h@-**/lua.c@-**/luac.c : shared ;
C.Library : lua-5.4.0-work1/src/*@=**.c@=**.h@-**/luac.c : shared ;
###############################################################################
# Create the lua51 shared library.
###############################################################################
C.ActiveTarget lua51 ;
# Tell Lua's code to export the appropriate functions to the DLL.
C.Defines : LUA_BUILD_AS_DLL ;
C.IncludeDirectories : lua-5.1.5/src ;
#C.Library : lua/*@=**.c@=**.h@-**/lua.c@-**/luac.c : shared ;
C.Library : lua-5.1.5/src/*@=**.c@=**.h@-**/luac.c : shared ;
###############################################################################
# Create the lua executable.
###############################################################################
C.ActiveTarget "dtlua" ;
C.IncludeDirectories : lua-5.4.0-work1/src ;
C.LinkLibraries : lua54 lua51 ;
C.Application : src/dtlua.c src/util.c ;
ramble ramble... I still can't even load a script properly in lua in C yet. XD