diff options
Diffstat (limited to '3rdparty/genie/src/tools')
-rw-r--r-- | 3rdparty/genie/src/tools/dotnet.lua | 22 | ||||
-rw-r--r-- | 3rdparty/genie/src/tools/gcc.lua | 49 |
2 files changed, 51 insertions, 20 deletions
diff --git a/3rdparty/genie/src/tools/dotnet.lua b/3rdparty/genie/src/tools/dotnet.lua index 69feffa2599..bc7ca36c945 100644 --- a/3rdparty/genie/src/tools/dotnet.lua +++ b/3rdparty/genie/src/tools/dotnet.lua @@ -4,10 +4,10 @@ -- Copyright (c) 2002-2009 Jason Perkins and the Premake project -- - + premake.dotnet = { } premake.dotnet.namestyle = "windows" - + -- -- Translation of Premake flags into CSC flags @@ -40,9 +40,9 @@ return "None" end end - - - + + + -- -- Returns the compiler filename (they all use the same arguments) -- @@ -51,13 +51,7 @@ if (_OPTIONS.dotnet == "msnet") then return "csc" elseif (_OPTIONS.dotnet == "mono") then - if (cfg.framework <= "1.1") then - return "mcs" - elseif (cfg.framework >= "4.0") then - return "dmcs" - else - return "gmcs" - end + return "mcs" else return "cscc" end @@ -71,7 +65,7 @@ function premake.dotnet.getflags(cfg) local result = table.translate(cfg.flags, flags) - return result + return result end @@ -88,4 +82,4 @@ elseif (cfg.kind == "SharedLib") then return "Library" end - end
\ No newline at end of file + end diff --git a/3rdparty/genie/src/tools/gcc.lua b/3rdparty/genie/src/tools/gcc.lua index 2188bc82070..44b2edb2a0f 100644 --- a/3rdparty/genie/src/tools/gcc.lua +++ b/3rdparty/genie/src/tools/gcc.lua @@ -43,17 +43,20 @@ local cxxflags = { - NoExceptions = "-fno-exceptions", - NoRTTI = "-fno-rtti", - UnsignedChar = "-funsigned-char", + Cpp11 = "-std=c++11", + Cpp14 = "-std=c++14", + Cpp17 = "-std=c++17", + CppLatest = "-std=c++2a", + NoExceptions = "-fno-exceptions", + NoRTTI = "-fno-rtti", + UnsignedChar = "-funsigned-char", } local objcflags = { - ObjcARC = "-fobjc-arc", + ObjcARC = "-fobjc-arc", } - -- -- Map platforms to flags -- @@ -106,6 +109,12 @@ cxx = "orbis-clang++", ar = "orbis-ar", cppflags = "-MMD -MP", + }, + Emscripten = { + cc = "$(EMSCRIPTEN)/emcc", + cxx = "$(EMSCRIPTEN)/em++", + ar = "$(EMSCRIPTEN)/emar", + cppflags = "-MMD -MP", } } @@ -169,6 +178,10 @@ end end + if cfg.kind == "Bundle" then + table.insert(result, "-bundle") + end + if cfg.kind == "SharedLib" then if cfg.system == "macosx" then table.insert(result, "-dynamiclib") @@ -202,7 +215,7 @@ function premake.gcc.getlibdirflags(cfg) local result = { } for _, value in ipairs(premake.getlinks(cfg, "all", "directory")) do - table.insert(result, '-L' .. _MAKE.esc(value)) + table.insert(result, '-L\"' .. value .. '\"') end return result end @@ -259,6 +272,18 @@ end -- +-- Get the arguments for whole-archive linking. +-- + + function premake.gcc.wholearchive(lib) + if premake.gcc.llvm then + return {"-force_load", lib} + else + return {"-Wl,--whole-archive", lib, "-Wl,--no-whole-archive"} + end + end + +-- -- Get flags for passing to AR before the target is appended to the commandline -- prj: project -- cfg: configuration @@ -336,6 +361,18 @@ end -- +-- Decorate system include file search paths for the GCC command line. +-- + + function premake.gcc.getsystemincludedirs(includedirs) + local result = { } + for _,dir in ipairs(includedirs) do + table.insert(result, "-isystem \"" .. dir .. "\"") + end + return result + end + +-- -- Return platform specific project and configuration level -- makesettings blocks. -- |