From 65906009904604247c3b0a5d09afdc1ba7432a43 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Sat, 19 Mar 2016 14:47:10 +0100 Subject: Added support for Raspberry Pi cross-compile (nw) --- scripts/toolchain.lua | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'scripts/toolchain.lua') 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", -- cgit v1.2.3-70-g09d2