1-- 2-- valac.lua 3-- Provides valac-specific configuration strings. 4-- 5 6 7 premake.valac = { } 8 9 10-- 11-- Set default tools 12-- 13 14 premake.valac.valac = "valac" 15 premake.valac.cc = "gcc" 16 17 18-- 19-- Translation of Premake flags into GCC flags 20-- 21 22 local valaflags = 23 { 24 DisableAssert = "--disable-assert", -- Disable assertions 25 DisableSinceCheck = "--disable-since-check", -- Do not check whether used symbols exist in local packages 26 DisableWarnings = "--disable-warnings", -- Disable warnings 27 EnableChecking = "--enable-checking", -- Enable additional run-time checks 28 EnableDeprecated = "--enable-deprecated", -- Enable deprecated features 29 EnableExperimental = "--enable-experimental", -- Enable experimental features 30 EnableExperimentalNonNull = "--enable-experimental-non-null", -- Enable experimental enhancements for non-null types 31 EnableGObjectTracing = "--enable-gobject-tracing", -- Enable GObject creation tracing 32 EnableMemProfiler = "--enable-mem-profiler", -- Enable GLib memory profiler 33 EnableThreading = "--thread", -- Enable multithreading support 34 FatalWarnings = "--fatal-warnings", -- Treat warnings as fatal 35 HideInternal = "--hide-internal", -- Hide symbols marked as internal 36 NoStdPkg = "--nostdpkg", -- Do not include standard packages 37 Optimize = "-X -O2", 38 OptimizeSize = "-X -Os", 39 OptimizeSpeed = "-X -O3", 40 Symbols = "-g", -- Produce debug information 41 } 42 43 premake.valac.platforms = {} 44 45-- 46-- Returns a list of compiler flags, based on the supplied configuration. 47-- 48 49 function premake.valac.getvalaflags(cfg) 50 return table.translate(cfg.flags, valaflags) 51 end 52 53 54 55-- 56-- Decorate pkgs for the Vala command line. 57-- 58 59 function premake.valac.getlinks(links) 60 local result = { } 61 for _, pkg in ipairs(links) do 62 table.insert(result, '--pkg ' .. pkg) 63 end 64 return result 65 end 66 67 68 69-- 70-- Decorate defines for the Vala command line. 71-- 72 73 function premake.valac.getdefines(defines) 74 local result = { } 75 for _, def in ipairs(defines) do 76 table.insert(result, '-D ' .. def) 77 end 78 return result 79 end 80 81 82 83-- 84-- Decorate C flags for the Vala command line. 85-- 86 87 function premake.valac.getbuildoptions(buildoptions) 88 local result = { } 89 for _, def in ipairs(buildoptions) do 90 table.insert(result, '-X ' .. def) 91 end 92 return result 93 end 94 95-- 96-- Decorate vapidirs for the Vala command line. 97-- 98 99 function premake.valac.getvapidirs(vapidirs) 100 local result = { } 101 for _, def in ipairs(vapidirs) do 102 table.insert(result, '--vapidir=' .. def) 103 end 104 return result 105 end 106