summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/toolchain.lua
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/toolchain.lua')
-rw-r--r--scripts/toolchain.lua41
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/toolchain.lua b/scripts/toolchain.lua
index 0181f14616f..072f4b214ea 100644
--- a/scripts/toolchain.lua
+++ b/scripts/toolchain.lua
@@ -245,6 +245,16 @@ function toolchain(_buildDir, _subDir)
location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-steamlink")
end
+ if "rpi" == _OPTIONS["gcc"] then
+ if not os.getenv("RASPBERRY_SDK_PATH") then
+ print("Set RASPBERRY_SDK_PATH envrionment variable.")
+ end
+ premake.gcc.cc = "$(RASPBERRY_SDK_PATH)/bin/arm-linux-gnueabihf-gcc"
+ premake.gcc.cxx = "$(RASPBERRY_SDK_PATH)/bin/arm-linux-gnueabihf-g++"
+ premake.gcc.ar = "$(RASPBERRY_SDK_PATH)/bin/arm-linux-gnueabihf-ar"
+ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-rpi")
+ end
+
if "mingw32-gcc" == _OPTIONS["gcc"] then
if not os.getenv("MINGW32") then
print("Set MINGW32 envrionment variable.")
@@ -511,6 +521,37 @@ function toolchain(_buildDir, _subDir)
configuration { "steamlink", "Debug" }
targetdir (_buildDir .. "steamlink/bin/Debug")
+ configuration { "rpi" }
+ objdir ( _buildDir .. "rpi/obj")
+ libdirs {
+ "$(RASPBERRY_SYSROOT)/opt/vc/lib",
+ }
+ includedirs {
+ "$(RASPBERRY_SYSROOT)/opt/vc/include",
+ "$(RASPBERRY_SYSROOT)/opt/vc/include/interface/vcos/pthreads",
+ "$(RASPBERRY_SYSROOT)/opt/vc/include/interface/vmcs_host/linux",
+ }
+ links {
+ "rt",
+ }
+ linkoptions {
+ "-Wl,--gc-sections",
+ }
+ buildoptions {
+ "--sysroot=$(RASPBERRY_SYSROOT)",
+ }
+ linkoptions {
+ "-static-libgcc",
+ "-static-libstdc++",
+ "--sysroot=$(RASPBERRY_SYSROOT)",
+ }
+
+ configuration { "rpi", "Release" }
+ targetdir (_buildDir .. "rpi/bin/Release")
+
+ configuration { "rpi", "Debug" }
+ targetdir (_buildDir .. "rpi/bin/Debug")
+
configuration { "mingw-clang" }
linkoptions {
"-Wl,--allow-multiple-definition",