summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bx/scripts/toolchain.lua
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bx/scripts/toolchain.lua')
-rw-r--r--3rdparty/bx/scripts/toolchain.lua81
1 files changed, 56 insertions, 25 deletions
diff --git a/3rdparty/bx/scripts/toolchain.lua b/3rdparty/bx/scripts/toolchain.lua
index 0f751dd3aa4..59795b2be9d 100644
--- a/3rdparty/bx/scripts/toolchain.lua
+++ b/3rdparty/bx/scripts/toolchain.lua
@@ -61,7 +61,6 @@ function toolchain(_buildDir, _libDir)
},
}
-
newoption {
trigger = "xcode",
value = "xcode_target",
@@ -74,28 +73,38 @@ function toolchain(_buildDir, _libDir)
}
newoption {
- trigger = "with-android",
- value = "#",
+ trigger = "with-android",
+ value = "#",
description = "Set Android platform version (default: android-14).",
}
newoption {
- trigger = "with-ios",
- value = "#",
+ trigger = "with-ios",
+ value = "#",
description = "Set iOS target version (default: 8.0).",
}
newoption {
- trigger = "with-tvos",
- value = "#",
+ trigger = "with-tvos",
+ value = "#",
description = "Set tvOS target version (default: 9.0).",
}
newoption {
- trigger = "with-dynamic-runtime",
+ trigger = "with-dynamic-runtime",
description = "Dynamically link with the runtime rather than statically",
}
+ newoption {
+ trigger = "with-32bit-compiler",
+ description = "Use 32-bit compiler instead 64-bit.",
+ }
+
+ newoption {
+ trigger = "with-avx",
+ description = "Use AVX extension.",
+ }
+
-- Avoid error when invoking genie --help.
if (_ACTION == nil) then return false end
@@ -122,6 +131,11 @@ function toolchain(_buildDir, _libDir)
tvosPlatform = _OPTIONS["with-tvos"]
end
+ local compiler32bit = false
+ if _OPTIONS["with-32bit-compiler"] then
+ compiler32bit = true
+ end
+
if _ACTION == "gmake" or _ACTION == "ninja" then
if nil == _OPTIONS["gcc"] then
@@ -249,8 +263,17 @@ function toolchain(_buildDir, _libDir)
location (path.join(_buildDir, "projects", _ACTION .. "-linux-steamlink"))
elseif "mingw-gcc" == _OPTIONS["gcc"] then
- premake.gcc.cc = "$(MINGW)/bin/x86_64-w64-mingw32-gcc"
- premake.gcc.cxx = "$(MINGW)/bin/x86_64-w64-mingw32-g++"
+ local mingwToolchain = "x86_64-w64-mingw32"
+ if compiler32bit then
+ if os.is("linux") then
+ mingwToolchain = "i686-w64-mingw32"
+ else
+ mingwToolchain = "mingw32"
+ end
+ end
+
+ premake.gcc.cc = "$(MINGW)/bin/" .. mingwToolchain .. "-gcc"
+ premake.gcc.cxx = "$(MINGW)/bin/" .. mingwToolchain .. "-g++"
premake.gcc.ar = "$(MINGW)/bin/ar"
location (path.join(_buildDir, "projects", _ACTION .. "-mingw-gcc"))
@@ -268,11 +291,11 @@ function toolchain(_buildDir, _libDir)
print("Set NACL_SDK_ROOT enviroment variable.")
end
- naclToolchain = "$(NACL_SDK_ROOT)/toolchain/win_x86_newlib/bin/x86_64-nacl-"
+ naclToolchain = "$(NACL_SDK_ROOT)/toolchain/win_x86_glibc/bin/x86_64-nacl-"
if os.is("macosx") then
- naclToolchain = "$(NACL_SDK_ROOT)/toolchain/mac_x86_newlib/bin/x86_64-nacl-"
+ naclToolchain = "$(NACL_SDK_ROOT)/toolchain/mac_x86_glibc/bin/x86_64-nacl-"
elseif os.is("linux") then
- naclToolchain = "$(NACL_SDK_ROOT)/toolchain/linux_x86_newlib/bin/x86_64-nacl-"
+ naclToolchain = "$(NACL_SDK_ROOT)/toolchain/linux_x86_glibc/bin/x86_64-nacl-"
end
premake.gcc.cc = naclToolchain .. "gcc"
@@ -286,11 +309,11 @@ function toolchain(_buildDir, _libDir)
print("Set NACL_SDK_ROOT enviroment variable.")
end
- naclToolchain = "$(NACL_SDK_ROOT)/toolchain/win_arm_newlib/bin/arm-nacl-"
+ naclToolchain = "$(NACL_SDK_ROOT)/toolchain/win_arm_glibc/bin/arm-nacl-"
if os.is("macosx") then
- naclToolchain = "$(NACL_SDK_ROOT)/toolchain/mac_arm_newlib/bin/arm-nacl-"
+ naclToolchain = "$(NACL_SDK_ROOT)/toolchain/mac_arm_glibc/bin/arm-nacl-"
elseif os.is("linux") then
- naclToolchain = "$(NACL_SDK_ROOT)/toolchain/linux_arm_newlib/bin/arm-nacl-"
+ naclToolchain = "$(NACL_SDK_ROOT)/toolchain/linux_arm_glibc/bin/arm-nacl-"
end
premake.gcc.cc = naclToolchain .. "gcc"
@@ -304,10 +327,14 @@ function toolchain(_buildDir, _libDir)
elseif "osx" == _OPTIONS["gcc"] then
if os.is("linux") then
+ if not os.getenv("OSXCROSS") then
+ print("Set OSXCROSS enviroment variable.")
+ end
+
local osxToolchain = "x86_64-apple-darwin15-"
- premake.gcc.cc = osxToolchain .. "clang"
- premake.gcc.cxx = osxToolchain .. "clang++"
- premake.gcc.ar = osxToolchain .. "ar"
+ premake.gcc.cc = "$(OSXCROSS)/target/bin/" .. osxToolchain .. "clang"
+ premake.gcc.cxx = "$(OSXCROSS)/target/bin/" .. osxToolchain .. "clang++"
+ premake.gcc.ar = "$(OSXCROSS)/target/bin/" .. osxToolchain .. "ar"
end
location (path.join(_buildDir, "projects", _ACTION .. "-osx"))
@@ -438,6 +465,10 @@ function toolchain(_buildDir, _libDir)
flags { "StaticRuntime" }
end
+ if _OPTIONS["with-avx"] then
+ flags { "EnableAVX" }
+ end
+
flags {
"NoPCH",
"NativeWChar",
@@ -907,10 +938,10 @@ function toolchain(_buildDir, _libDir)
linkoptions { "-melf32_nacl" }
configuration { "x32", "nacl", "Debug" }
- libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_32/Debug" }
+ libdirs { "$(NACL_SDK_ROOT)/lib/glibc_x86_32/Debug" }
configuration { "x32", "nacl", "Release" }
- libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_32/Release" }
+ libdirs { "$(NACL_SDK_ROOT)/lib/glibc_x86_32/Release" }
configuration { "x64", "nacl" }
targetdir (path.join(_buildDir, "nacl-x64/bin"))
@@ -919,10 +950,10 @@ function toolchain(_buildDir, _libDir)
linkoptions { "-melf64_nacl" }
configuration { "x64", "nacl", "Debug" }
- libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_64/Debug" }
+ libdirs { "$(NACL_SDK_ROOT)/lib/glibc_x86_64/Debug" }
configuration { "x64", "nacl", "Release" }
- libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_64/Release" }
+ libdirs { "$(NACL_SDK_ROOT)/lib/glibc_x86_64/Release" }
configuration { "nacl-arm" }
buildoptions {
@@ -933,10 +964,10 @@ function toolchain(_buildDir, _libDir)
libdirs { path.join(_libDir, "lib/nacl-arm") }
configuration { "nacl-arm", "Debug" }
- libdirs { "$(NACL_SDK_ROOT)/lib/newlib_arm/Debug" }
+ libdirs { "$(NACL_SDK_ROOT)/lib/glibc_arm/Debug" }
configuration { "nacl-arm", "Release" }
- libdirs { "$(NACL_SDK_ROOT)/lib/newlib_arm/Release" }
+ libdirs { "$(NACL_SDK_ROOT)/lib/glibc_arm/Release" }
configuration { "pnacl" }
targetdir (path.join(_buildDir, "pnacl/bin"))