Ver código fonte

Updated RISC-V toolchain.

Branimir Karadžić 9 anos atrás
pai
commit
ad9dbf381d
2 arquivos alterados com 12 adições e 6 exclusões
  1. 1 1
      include/bx/platform.h
  2. 11 5
      scripts/toolchain.lua

+ 1 - 1
include/bx/platform.h

@@ -202,7 +202,7 @@
 #	undef  BX_PLATFORM_RPI
 #	define BX_PLATFORM_RPI 1
 #elif  defined(__linux__) \
-	|| defined(__riscv__)
+	|| BX_CPU_RISCV
 #	undef  BX_PLATFORM_LINUX
 #	define BX_PLATFORM_LINUX 1
 #elif  defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) \

+ 11 - 5
scripts/toolchain.lua

@@ -39,6 +39,7 @@ function toolchain(_buildDir, _libDir)
 			{ "pnacl",           "Native Client - PNaCl"      },
 			{ "orbis",           "Orbis"                      },
 			{ "qnx-arm",         "QNX/Blackberry - ARM"       },
+			{ "riscv",           "RISC-V"                     },
 			{ "rpi",             "RaspberryPi"                },
 		},
 	}
@@ -406,9 +407,9 @@ function toolchain(_buildDir, _libDir)
 			location (path.join(_buildDir, "projects", _ACTION .. "-rpi"))
 
 		elseif "riscv" == _OPTIONS["gcc"] then
-			premake.gcc.cc  = "$(RISCV_DIR)/bin/riscv64-unknown-elf-gcc"
-			premake.gcc.cxx = "$(RISCV_DIR)/bin/riscv64-unknown-elf-g++"
-			premake.gcc.ar  = "$(RISCV_DIR)/bin/riscv64-unknown-elf-ar"
+			premake.gcc.cc  = "$(FREEDOM_E_SDK)/toolchain/bin/riscv32-unknown-elf-gcc"
+			premake.gcc.cxx = "$(FREEDOM_E_SDK)/toolchain/bin/riscv32-unknown-elf-g++"
+			premake.gcc.ar  = "$(FREEDOM_E_SDK)/toolchain/bin/riscv32-unknown-elf-ar"
 			location (path.join(_buildDir, "projects", _ACTION .. "-riscv"))
 
 		end
@@ -1307,13 +1308,18 @@ function toolchain(_buildDir, _libDir)
 	configuration { "riscv" }
 		targetdir (path.join(_buildDir, "riscv/bin"))
 		objdir (path.join(_buildDir, "riscv/obj"))
+		defines {
+			"__BSD_VISIBLE",
+			"__MISC_VISIBLE",
+		}
 		includedirs {
-			"$(RISCV_DIR)/sysroot/usr/include",
+			"$(FREEDOM_E_SDK)/toolchain/riscv32-unknown-elf/include",
+			path.join(bxDir, "include/compat/riscv"),
 		}
 		buildoptions {
 			"-Wunused-value",
 			"-Wundef",
-			"--sysroot=$(RISCV_DIR)/sysroot",
+			"--sysroot=$(FREEDOM_E_SDK)/toolchain/riscv32-unknown-elf",
 		}
 		buildoptions_cpp {
 			"-std=c++11",