summaryrefslogtreecommitdiffstats
path: root/lib/tolua++/src/bin/lua/_driver.lua
blob: 1ca18862b65a556ddc90e591fd53ea89b06fc2b7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96

-- Allow debugging by ZBS, if run under the IDE:
local mobdebugfound, mobdebug = pcall(require, "mobdebug")
if mobdebugfound then mobdebug.start() end

-- Disable buffering for stdout, so that the results appear immediately:
io.output():setvbuf("no")

-- The list of valid arguments that the ToLua scripts can process:
local KnownArgs = {
	['v'] = true,
	['h'] = true,
	['p'] = true,
	['P'] = true,
	['o'] = true,
	['n'] = true,
	['H'] = true,
	['S'] = true,
	['1'] = true,
	['L'] = true,
	['D'] = true,
	['W'] = true,
	['C'] = true,
	['E'] = true,
	['t'] = true,
	['q'] = true,
}





-- The flags table used by ToLua scripts, to be filled from the cmdline params:
flags = {}

-- Te extra parameters used by ToLua scripts:
_extra_parameters = {}

-- ToLua version required by the scripts:
TOLUA_VERSION = "tolua++-1.0.92"

-- Lua version used by ToLua, required by the scripts:
TOLUA_LUA_VERSION = "Lua 5.1"






-- Process the cmdline params into the flags table:
local args = arg or {}
local argc = #args
local i = 1
while (i <= argc) do
	local argv = args[i]
	if (argv:sub(1, 1) == "-") then
		if (KnownArgs[argv:sub(2)]) then
			print("Setting flag \"" .. argv:sub(2) .. "\" to \"" .. args[i + 1] .. "\".")
			flags[argv:sub(2)] = args[i + 1]
			i = i + 1
		else
			print("Unknown option (" .. i .. "): " .. argv)
			print("Aborting.")
			os.exit(1)
		end
	else
		print("Setting flag \"f\" to \"" .. argv .. "\".")
		flags['f'] = argv
		break
	end
	i = i + 1
end

-- Get the path where the scripts are located:
path = args[0] or ""
local index = path:find("/[^/]*$")
if (index == nil) then
	index = path:find("\\[^\\]*$")
end
if (index ~= nil) then
	path = path:sub(1, index)
end

print("path is set to \"" .. path .. "\".")





-- Call the ToLua processor:
dofile(path .. "all.lua")