Add support for the RISC-V architecture

Supports RV64GC (RISC-V 64-bit with general-purpose and compressed-instruction extensions)
This commit is contained in:
Aaron Franke 2021-08-28 17:40:32 -05:00
parent 3bebbcacdb
commit 474d0f58f5
No known key found for this signature in database
GPG key ID: 40A1750B977E56BF
7 changed files with 25 additions and 4 deletions

View file

@ -1,11 +1,12 @@
def can_build(env, platform):
# Thirdparty dependency OpenImage Denoise includes oneDNN library
# which only supports 64-bit architectures.
# and the version we use only supports x86_64.
# It's also only relevant for tools build and desktop platforms,
# as doing lightmap generation and denoising on Android or HTML5
# would be a bit far-fetched.
desktop_platforms = ["linuxbsd", "osx", "windows"]
return env["tools"] and platform in desktop_platforms and env["bits"] == "64" and env["arch"] != "arm64"
supported_arch = env["bits"] == "64" and env["arch"] != "arm64" and not env["arch"].startswith("rv")
return env["tools"] and platform in desktop_platforms and supported_arch
def configure(env):

View file

@ -2,7 +2,7 @@ supported_platforms = ["windows", "osx", "linuxbsd", "server", "android", "haiku
def can_build(env, platform):
return True
return not env["arch"].startswith("rv")
def configure(env):

View file

@ -1,5 +1,7 @@
def can_build(env, platform):
# Depends on Embree library, which only supports x86_64 and aarch64.
if env["arch"].startswith("rv"):
return False
if platform == "android":
return env["android_arch"] in ["arm64v8", "x86_64"]

View file

@ -1,5 +1,5 @@
def can_build(env, platform):
return True
return not env["arch"].startswith("rv")
def configure(env):

View file

@ -1,4 +1,6 @@
def can_build(env, platform):
if env["arch"].startswith("rv"):
return False
return env.module_check_dependencies("theora", ["ogg", "vorbis"])