Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Schneider <oliver@assarbad.net>2016-01-12 23:01:22 +0300
committerOliver Schneider <oliver@assarbad.net>2016-01-12 23:01:22 +0300
commit32dbee7029ba110af841e67b0816b747bdf3c0c2 (patch)
treeeb225f5fc540ba11a65fcf648f0e0d2578d7b528
parentc156c8b6a15d155fa4e2716046e1572c36927e8e (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.lua7
-rwxr-xr-xsrc/host/premake.c4
-rw-r--r--src/host/scripts.c58
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
+};