From 32dbee7029ba110af841e67b0816b747bdf3c0c2 Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Tue, 12 Jan 2016 20:01:22 +0000 Subject: Adding the names of the scripts so the traceback for chunks gives more usable output --HG-- branch : WDS-build --- scripts/embed.lua | 7 ++++++- src/host/premake.c | 4 ++++ src/host/scripts.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 1 deletion(-) diff --git a/scripts/embed.lua b/scripts/embed.lua index 5dd08c5..b83e51e 100644 --- a/scripts/embed.lua +++ b/scripts/embed.lua @@ -68,6 +68,7 @@ function doembed() raw_sum = 0 trim_sum = 0 + fnames = "const char* builtin_script_fnames[] = {" -- load the manifest of script files scripts = dofile("src/_manifest.lua") @@ -84,10 +85,14 @@ for i,fn in ipairs(scripts) do print(fn) local s = stripfile("src/" .. fn) + fnames = fnames .. "\n" .. "\t\"" .. fn .. "\"," writefile(out, fn, s) end - out:write("\t0\n};\n"); + out:write("\t0\n};\n\n"); + out:write(fnames); + out:write("\n\t0\n};\n"); + out:close() print(string.format("Lua scripts trimmed down to %2.1f%% of original size (%d/%d)", (trim_sum / raw_sum) * 100, trim_sum, raw_sum)) end diff --git a/src/host/premake.c b/src/host/premake.c index 8b9d550..df4d004 100755 --- a/src/host/premake.c +++ b/src/host/premake.c @@ -360,6 +360,10 @@ static int load_file_scripts(lua_State* L) } } +extern const char* builtin_script_fnames[]; + +#define luaL_dobuffer(L, s, n) \ + (luaL_loadbuffer(L, s, strlen(s), n) || lua_pcall(L, 0, LUA_MULTRET, 0)) /** * When running in release mode, the scripts are loaded from a static data diff --git a/src/host/scripts.c b/src/host/scripts.c index b5fba27..d4ee0d7 100644 --- a/src/host/scripts.c +++ b/src/host/scripts.c @@ -299,3 +299,61 @@ const char* builtin_scripts[] = { 0 }; + +const char* builtin_script_fnames[] = { + "base/os.lua", + "base/path.lua", + "base/string.lua", + "base/table.lua", + "base/io.lua", + "base/globals.lua", + "base/action.lua", + "base/option.lua", + "base/tree.lua", + "base/solution.lua", + "base/project.lua", + "base/config.lua", + "base/bake.lua", + "base/api.lua", + "base/cmdline.lua", + "tools/dotnet.lua", + "tools/gcc.lua", + "tools/msc.lua", + "tools/ow.lua", + "tools/snc.lua", + "base/validate.lua", + "base/help.lua", + "base/premake.lua", + "actions/codeblocks/_codeblocks.lua", + "actions/codeblocks/codeblocks_workspace.lua", + "actions/codeblocks/codeblocks_cbp.lua", + "actions/codelite/_codelite.lua", + "actions/codelite/codelite_workspace.lua", + "actions/codelite/codelite_project.lua", + "actions/make/_make.lua", + "actions/make/make_solution.lua", + "actions/make/make_cpp.lua", + "actions/make/make_csharp.lua", + "actions/vstudio/_vstudio.lua", + "actions/vstudio/vs2002_solution.lua", + "actions/vstudio/vs2002_csproj.lua", + "actions/vstudio/vs2002_csproj_user.lua", + "actions/vstudio/vs200x_vcproj.lua", + "actions/vstudio/vs200x_vcproj_user.lua", + "actions/vstudio/vs2003_solution.lua", + "actions/vstudio/vs2005_solution.lua", + "actions/vstudio/vs2005_csproj.lua", + "actions/vstudio/vs2005_csproj_user.lua", + "actions/vstudio/vs2010_vcxproj.lua", + "actions/vstudio/vs2010_vcxproj_filters.lua", + "actions/vstudio/vs2012.lua", + "actions/vstudio/vs2013.lua", + "actions/vstudio/vs2015.lua", + "actions/xcode/_xcode.lua", + "actions/xcode/xcode_common.lua", + "actions/xcode/xcode_project.lua", + "actions/xcode/xcode4_workspace.lua", + "actions/clean/_clean.lua", + "_premake_main.lua", + 0 +}; -- cgit v1.2.3