diff options
author | Oliver Schneider <oliver@assarbad.net> | 2016-01-12 23:01:22 +0300 |
---|---|---|
committer | Oliver Schneider <oliver@assarbad.net> | 2016-01-12 23:01:22 +0300 |
commit | 32dbee7029ba110af841e67b0816b747bdf3c0c2 (patch) | |
tree | eb225f5fc540ba11a65fcf648f0e0d2578d7b528 | |
parent | c156c8b6a15d155fa4e2716046e1572c36927e8e (diff) |
Adding the names of the scripts so the traceback for chunks gives more usable output
--HG--
branch : WDS-build
-rw-r--r-- | scripts/embed.lua | 7 | ||||
-rwxr-xr-x | src/host/premake.c | 4 | ||||
-rw-r--r-- | src/host/scripts.c | 58 |
3 files changed, 68 insertions, 1 deletions
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 +}; |