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 opti_k, opti_v, rel_k, rel_v, _, comp_v in cartesian(optimizations, debug, compilers) do local build = { timeout=600, image="image-" .. comp_v, requires = { {"git","busybox-w32"}, {"cicd","libressl-" .. opti_k .. "-" .. rel_k .. "-" .. comp_v .. ":include.tar.gz"}, {"cicd","libressl-" .. opti_k .. "-" .. rel_k .. "-" .. comp_v .. ":libtls.a"}, {"cicd","libressl-" .. opti_k .. "-" .. rel_k .. "-" .. comp_v .. ":libssl.a"}, {"cicd","libressl-" .. opti_k .. "-" .. rel_k .. "-" .. comp_v .. ":libcrypto.a"}, }, produces = { ["busybox.exe"] = true }, env = { CFLAGS = opti_v .. " " .. rel_v .. " -fdiagnostics-color=always", } } if opti_k == "zero" then build.env.ZERO_PATCH="true" end builds["busybox-w32-" .. opti_k .. "-" .. rel_k .. "-" .. comp_v] = build end return builds