Added SteamLink toolchain.

This commit is contained in:
Branimir Karadžić
2016-01-14 23:44:08 -08:00
parent a6d964879f
commit 393410dff2

View File

@@ -13,29 +13,30 @@ function toolchain(_buildDir, _libDir)
value = "GCC",
description = "Choose GCC flavor",
allowed = {
{ "android-arm", "Android - ARM" },
{ "android-mips", "Android - MIPS" },
{ "android-x86", "Android - x86" },
{ "asmjs", "Emscripten/asm.js" },
{ "freebsd", "FreeBSD" },
{ "linux-gcc", "Linux (GCC compiler)" },
{ "linux-gcc-5", "Linux (GCC-5 compiler)" },
{ "linux-clang", "Linux (Clang compiler)" },
{ "linux-mips-gcc", "Linux (MIPS, GCC compiler)" },
{ "linux-arm-gcc", "Linux (ARM, GCC compiler)" },
{ "ios-arm", "iOS - ARM" },
{ "ios-simulator", "iOS - Simulator" },
{ "tvos-arm64", "tvOS - ARM64" },
{ "tvos-simulator", "tvOS - Simulator" },
{ "mingw-gcc", "MinGW" },
{ "mingw-clang", "MinGW (clang compiler)" },
{ "nacl", "Native Client" },
{ "nacl-arm", "Native Client - ARM" },
{ "osx", "OSX" },
{ "pnacl", "Native Client - PNaCl" },
{ "ps4", "PS4" },
{ "qnx-arm", "QNX/Blackberry - ARM" },
{ "rpi", "RaspberryPi" },
{ "android-arm", "Android - ARM" },
{ "android-mips", "Android - MIPS" },
{ "android-x86", "Android - x86" },
{ "asmjs", "Emscripten/asm.js" },
{ "freebsd", "FreeBSD" },
{ "linux-gcc", "Linux (GCC compiler)" },
{ "linux-gcc-5", "Linux (GCC-5 compiler)" },
{ "linux-clang", "Linux (Clang compiler)" },
{ "linux-mips-gcc", "Linux (MIPS, GCC compiler)" },
{ "linux-arm-gcc", "Linux (ARM, GCC compiler)" },
{ "linux-steamlink", "Steam Link" },
{ "ios-arm", "iOS - ARM" },
{ "ios-simulator", "iOS - Simulator" },
{ "tvos-arm64", "tvOS - ARM64" },
{ "tvos-simulator", "tvOS - Simulator" },
{ "mingw-gcc", "MinGW" },
{ "mingw-clang", "MinGW (clang compiler)" },
{ "nacl", "Native Client" },
{ "nacl-arm", "Native Client - ARM" },
{ "osx", "OSX" },
{ "pnacl", "Native Client - PNaCl" },
{ "ps4", "PS4" },
{ "qnx-arm", "QNX/Blackberry - ARM" },
{ "rpi", "RaspberryPi" },
},
}
@@ -157,7 +158,7 @@ function toolchain(_buildDir, _libDir)
elseif "asmjs" == _OPTIONS["gcc"] then
if not os.getenv("EMSCRIPTEN") then
print("Set EMSCRIPTEN enviroment variables.")
print("Set EMSCRIPTEN enviroment variable.")
end
premake.gcc.cc = "$(EMSCRIPTEN)/emcc"
@@ -214,6 +215,16 @@ function toolchain(_buildDir, _libDir)
elseif "linux-arm-gcc" == _OPTIONS["gcc"] then
location (path.join(_buildDir, "projects", _ACTION .. "-linux-arm-gcc"))
elseif "linux-steamlink" == _OPTIONS["gcc"] then
if not os.getenv("MARVELL_SDK_PATH") then
print("Set MARVELL_SDK_PATH enviroment variable.")
end
premake.gcc.cc = "$(MARVELL_SDK_PATH)/toolchain/bin/armv7a-cros-linux-gnueabi-gcc"
premake.gcc.cxx = "$(MARVELL_SDK_PATH)/toolchain/bin/armv7a-cros-linux-gnueabi-g++"
premake.gcc.ar = "$(MARVELL_SDK_PATH)/toolchain/bin/armv7a-cros-linux-gnueabi-ar"
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++"
@@ -231,7 +242,7 @@ function toolchain(_buildDir, _libDir)
elseif "nacl" == _OPTIONS["gcc"] then
if not os.getenv("NACL_SDK_ROOT") then
print("Set NACL_SDK_ROOT enviroment variables.")
print("Set NACL_SDK_ROOT enviroment variable.")
end
naclToolchain = "$(NACL_SDK_ROOT)/toolchain/win_x86_newlib/bin/x86_64-nacl-"
@@ -249,7 +260,7 @@ function toolchain(_buildDir, _libDir)
elseif "nacl-arm" == _OPTIONS["gcc"] then
if not os.getenv("NACL_SDK_ROOT") then
print("Set NACL_SDK_ROOT enviroment variables.")
print("Set NACL_SDK_ROOT enviroment variable.")
end
naclToolchain = "$(NACL_SDK_ROOT)/toolchain/win_arm_newlib/bin/arm-nacl-"
@@ -277,7 +288,7 @@ function toolchain(_buildDir, _libDir)
elseif "pnacl" == _OPTIONS["gcc"] then
if not os.getenv("NACL_SDK_ROOT") then
print("Set NACL_SDK_ROOT enviroment variables.")
print("Set NACL_SDK_ROOT enviroment variable.")
end
naclToolchain = "$(NACL_SDK_ROOT)/toolchain/win_pnacl/bin/pnacl-"
@@ -295,7 +306,7 @@ function toolchain(_buildDir, _libDir)
elseif "ps4" == _OPTIONS["gcc"] then
if not os.getenv("PS4_SDK_ROOT") then
print("Set PS4_SDK_ROOT enviroment variables.")
print("Set PS4_SDK_ROOT enviroment variable.")
end
ps4Toolchain = "$(PS4_SDK_ROOT)/host_tools/bin/orbis-"
@@ -308,7 +319,7 @@ function toolchain(_buildDir, _libDir)
elseif "qnx-arm" == _OPTIONS["gcc"] then
if not os.getenv("QNX_HOST") then
print("Set QNX_HOST enviroment variables.")
print("Set QNX_HOST enviroment variable.")
end
premake.gcc.cc = "$(QNX_HOST)/usr/bin/arm-unknown-nto-qnx8.0.0eabi-gcc"
@@ -686,6 +697,27 @@ function toolchain(_buildDir, _libDir)
"-Wl,-z,now",
}
configuration { "linux-steamlink" }
targetdir (path.join(_buildDir, "steamlink/bin"))
objdir (path.join(_buildDir, "steamlink/obj"))
libdirs { path.join(_libDir, "lib/steamlink") }
includedirs { path.join(bxDir, "include/compat/linux") }
buildoptions {
"-std=c++0x",
"-Wfatal-errors",
"-Wunused-value",
"-Wundef",
"-pthread",
"-marm",
"-mfloat-abi=hard",
"--sysroot=$(MARVELL_SDK_PATH)/rootfs",
}
linkoptions {
"-static-libgcc",
"-static-libstdc++",
"--sysroot=$(MARVELL_SDK_PATH)/rootfs",
}
configuration { "android-arm" }
targetdir (path.join(_buildDir, "android-arm/bin"))
objdir (path.join(_buildDir, "android-arm/obj"))