cortav  Artifact [e99572ed87]

Artifact e99572ed87720d4202ee6ce914d223b10917c8785cf247f7a7fcb25b3f61b403:


-- luac is broken in some distributions, and cannot take more than one
-- argument without crashing on a double free or similar. this
-- completely breaks the cortav build process, so we supply our own
-- ultra-simplistic and painfully primitive luac replacement.
-- this does not generate very good object code.
-- pass luac-broken=1 when building to use
local pgm = ""
local strip = os.getenv("strip")=="1"
if #arg > 1 then
	local chunks = {}
	for i, f in ipairs(arg) do
		local nc = assert(loadfile(f))
		nc = string.format("load%q(...)", string.dump(nc))
		table.insert(chunks, nc)
	end
	pgm = assert(string.dump(load(table.concat(chunks))))
else
	pgm = assert(string.dump(loadfile(arg[1])))
end

io.stdout:write(pgm)