소스 검색

SCons: Work around compilation issue on Linux ARM64

Fixes #45687.

This is really just a band-aid, our current buildsystem doesn't work well for
cross-compilation and needs a thorough refactoring to do so.
Rémi Verschelde 4 년 전
부모
커밋
6b2cfa416c
2개의 변경된 파일18개의 추가작업 그리고 0개의 파일을 삭제
  1. 9 0
      modules/denoise/config.py
  2. 9 0
      modules/raycast/config.py

+ 9 - 0
modules/denoise/config.py

@@ -8,6 +8,15 @@ def can_build(env, platform):
     supported_platform = platform in ["x11", "osx", "windows", "server"]
     supported_bits = env["bits"] == "64"
     supported_arch = env["arch"] != "arm64"
+
+    # 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
+    # bits-handling code.
+    from platform import machine
+
+    if platform == "x11" and machine() != "x86_64":
+        supported_arch = False
+
     return env["tools"] and supported_platform and supported_bits and supported_arch
 
 

+ 9 - 0
modules/raycast/config.py

@@ -6,6 +6,15 @@ def can_build(env, platform):
     supported_platform = platform in ["x11", "osx", "windows", "server"]
     supported_bits = env["bits"] == "64"
     supported_arch = env["arch"] != "arm64"
+
+    # 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
+    # bits-handling code.
+    from platform import machine
+
+    if platform == "x11" and machine() != "x86_64":
+        supported_arch = False
+
     return env["tools"] and supported_platform and supported_bits and supported_arch