summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/genie/src/tools
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/genie/src/tools')
-rw-r--r--3rdparty/genie/src/tools/dotnet.lua22
-rw-r--r--3rdparty/genie/src/tools/gcc.lua49
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.
--