local lua_versions = { ["51"] = "https://www.lua.org/ftp/lua-5.1.5.tar.gz", ["52"] = "https://www.lua.org/ftp/lua-5.2.4.tar.gz", ["53"] = "https://www.lua.org/ftp/lua-5.3.6.tar.gz", ["54"] = "https://www.lua.org/ftp/lua-5.4.7.tar.gz", } 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 = {} for version, link, name, optimization, rel, flag, _, image in cartesian(lua_versions, optimizations, debug, compilers) do local name = "lua" .. version .. "-" .. name .. "-" .. rel .. "-" .. image builds[name] = { image = "image-" .. image, requires = { {"http", link}, {"cicd", "image-" .. image}, }, produces = { ["lua.exe"] = true, ["lua" .. version .. ".dll"] = true, ["liblua.a"] = true, ["luac.exe"] = true, }, env = { CFLAGS = optimization .. " " .. flag, }, } end return builds