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
|