mirror of https://github.com/godotengine/godot
parent
7f91cbc397
commit
5fe78a3a25
|
|
@ -673,6 +673,15 @@ bool OS::has_feature(const String &p_feature) {
|
||||||
if (p_feature == "riscv") {
|
if (p_feature == "riscv") {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#elif defined(__powerpc__)
|
||||||
|
#if defined(__powerpc64__)
|
||||||
|
if (p_feature == "ppc64") {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (p_feature == "ppc") {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (_check_internal_feature_support(p_feature)) {
|
if (_check_internal_feature_support(p_feature)) {
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,13 @@ def can_build(env, platform):
|
||||||
# would be a bit far-fetched.
|
# would be a bit far-fetched.
|
||||||
# Note: oneDNN doesn't support ARM64, OIDN needs updating to the latest version
|
# Note: oneDNN doesn't support ARM64, OIDN needs updating to the latest version
|
||||||
supported_platform = platform in ["x11", "osx", "windows", "server"]
|
supported_platform = platform in ["x11", "osx", "windows", "server"]
|
||||||
supported_bits = env["bits"] == "64"
|
supported_arch = env["bits"] == "64"
|
||||||
supported_arch = env["arch"] != "arm64" and not env["arch"].startswith("rv")
|
if env["arch"] == "arm64":
|
||||||
|
supported_arch = False
|
||||||
|
if env["arch"].startswith("ppc"):
|
||||||
|
supported_arch = False
|
||||||
|
if env["arch"].startswith("rv"):
|
||||||
|
supported_arch = False
|
||||||
|
|
||||||
# Hack to disable on Linux arm64. This won't work well for cross-compilation (checks
|
# Hack to disable on Linux arm64. This won't work well for cross-compilation (checks
|
||||||
# host, not target) and would need a more thorough fix by refactoring our arch and
|
# host, not target) and would need a more thorough fix by refactoring our arch and
|
||||||
|
|
@ -17,7 +22,7 @@ def can_build(env, platform):
|
||||||
if platform == "x11" and machine() != "x86_64":
|
if platform == "x11" and machine() != "x86_64":
|
||||||
supported_arch = False
|
supported_arch = False
|
||||||
|
|
||||||
return env["tools"] and supported_platform and supported_bits and supported_arch
|
return env["tools"] and supported_platform and supported_arch
|
||||||
|
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ def can_build(env, platform):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# Depends on Embree library, which only supports x86_64 and aarch64.
|
# Depends on Embree library, which only supports x86_64 and aarch64.
|
||||||
if env["arch"].startswith("rv"):
|
if env["arch"].startswith("rv") or env["arch"].startswith("ppc"):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if platform == "android":
|
if platform == "android":
|
||||||
|
|
|
||||||
|
|
@ -118,8 +118,16 @@ def configure(env):
|
||||||
if env["bits"] == "default":
|
if env["bits"] == "default":
|
||||||
env["bits"] = "64" if is64 else "32"
|
env["bits"] = "64" if is64 else "32"
|
||||||
|
|
||||||
if env["arch"] == "" and platform.machine() == "riscv64":
|
machines = {
|
||||||
env["arch"] = "rv64"
|
"riscv64": "rv64",
|
||||||
|
"ppc64le": "ppc64",
|
||||||
|
"ppc64": "ppc64",
|
||||||
|
"ppcle": "ppc",
|
||||||
|
"ppc": "ppc",
|
||||||
|
}
|
||||||
|
|
||||||
|
if env["arch"] == "" and platform.machine() in machines:
|
||||||
|
env["arch"] = machines[platform.machine()]
|
||||||
|
|
||||||
if env["arch"] == "rv64":
|
if env["arch"] == "rv64":
|
||||||
# G = General-purpose extensions, C = Compression extension (very common).
|
# G = General-purpose extensions, C = Compression extension (very common).
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue