summaryrefslogtreecommitdiff
path: root/meta.lua
blob: 1d3bdf21325c92d62e4feff4e0768bd9c69176aa (plain)
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
local optimizations = {
	tiny = "-Oz",
	size = "-Os",
	debug = "-Og",
	zero = "-O0",
	one = "-O1",
	two = "-O2",
	three = "-O3",
}
local debug = {
	release = "",
	debug = "-g",
}
local compilers = {--[["mingw32",]]"mingw64"--[[,"clang32","clang64"]]}
local builds = {}

--2-part build since we need to compile some binaries for use during the rest of the build
builds["luajit-meta"] = {
	requires = {
		{"git","luajit"}
	},
	produces = {
		["minilua"] = true,
		["buildvm"] = true
	},
	entrypoint="init-nix"
}

for name, optimization, rel, flag, _, image in cartesian(optimizations, debug, compilers) do
	local name = "luajit-" .. name .. "-" .. rel .. "-" .. image
	builds[name] = {
		image = "image-" .. image,
		requires = {
			{"git","luajit"},
			{"cicd", "image-" .. image},
			{"cicd", "luajit-meta:minilua"},
			{"cicd", "luajit-meta:buildvm"},
		},
		produces = {
			["lua.exe"] = true,
			["lua51.dll"] = true,
			["libluajit-5.1.dll.a"] = true,
			["libluajit.a"] = true,
		},
		env = {
			CFLAGS = optimization .. " " .. flag,
		},
		timeout=300,
	}
end
return builds