SCons: Fix Linux arm64 build for theora and libvpx

The architecture handling in 3.x is all over the place, and I'm not
going to start a major refactor like I did for 4.0 so late in its life
cycle.

So let's add more hacks! ⚔️

This requires manually passing `arch=arm64` when compiling, but this is
already the case for other parts of the codebase.
This commit is contained in:
Rémi Verschelde 2023-12-08 12:56:41 +01:00
parent 45c76995dd
commit 5b8a1314bd
No known key found for this signature in database
GPG key ID: C3336907360768E1
2 changed files with 4 additions and 2 deletions

View file

@ -228,7 +228,9 @@ elif env["platform"] != "windows": # Disable for Windows, yasm SIMD optimizatio
import platform import platform
is_x11_or_server_arm = (env["platform"] == "x11" or env["platform"] == "server") and ( is_x11_or_server_arm = (env["platform"] == "x11" or env["platform"] == "server") and (
platform.machine().startswith("arm") or platform.machine().startswith("aarch") platform.machine().startswith("arm")
or platform.machine().startswith("aarch")
or ("arch" in env and env["arch"].startswith("arm"))
) )
is_macos_x86 = env["platform"] == "osx" and ("arch" in env and (env["arch"] != "arm64")) is_macos_x86 = env["platform"] == "osx" and ("arch" in env and (env["arch"] != "arm64"))
is_ios_x86 = env["platform"] == "iphone" and ("arch" in env and env["arch"].startswith("x86")) is_ios_x86 = env["platform"] == "iphone" and ("arch" in env and env["arch"].startswith("x86"))

View file

@ -312,7 +312,7 @@ def configure(env):
env.ParseConfig("pkg-config theora theoradec --cflags --libs") env.ParseConfig("pkg-config theora theoradec --cflags --libs")
else: else:
list_of_x86 = ["x86_64", "x86", "i386", "i586"] list_of_x86 = ["x86_64", "x86", "i386", "i586"]
if any(platform.machine() in s for s in list_of_x86): if (env["arch"].startswith("x86") or env["arch"] == "") and any(platform.machine() in s for s in list_of_x86):
env["x86_libtheora_opt_gcc"] = True env["x86_libtheora_opt_gcc"] = True
if not env["builtin_libvpx"]: if not env["builtin_libvpx"]: