diff options
Diffstat (limited to '3rdparty/bx/scripts/toolchain.lua')
-rw-r--r-- | 3rdparty/bx/scripts/toolchain.lua | 81 |
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")) |