diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-11-01 15:13:46 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-11-01 15:13:46 +0100 |
commit | e07b3ee253a85d338d60a68a10209ac72cad8ba0 (patch) | |
tree | a7a199daa1d4f8a6c4d94b583b39875e0cadefd1 /platform/linuxbsd/detect.py | |
parent | b797f6cb8370753f4f771ce1b30ccc6ac6aa4479 (diff) | |
parent | 63153c9d36768b1e5ab9c1562f400a2bd8c2f8cd (diff) | |
download | redot-engine-e07b3ee253a85d338d60a68a10209ac72cad8ba0.tar.gz |
Merge pull request #84307 from akien-mga/linux-crosscompile-remove-hardcoded-lib-path
Linux: Remove hardcoded lib path for x86 cross-compilation
Diffstat (limited to 'platform/linuxbsd/detect.py')
-rw-r--r-- | platform/linuxbsd/detect.py | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py index 72bffceb1f..59cc6e7962 100644 --- a/platform/linuxbsd/detect.py +++ b/platform/linuxbsd/detect.py @@ -85,6 +85,16 @@ def configure(env: "Environment"): # gdb works fine without it though, so maybe our crash handler could too. env.Append(LINKFLAGS=["-rdynamic"]) + # Cross-compilation + # TODO: Support cross-compilation on architectures other than x86. + host_is_64_bit = sys.maxsize > 2**32 + if host_is_64_bit and env["arch"] == "x86_32": + env.Append(CCFLAGS=["-m32"]) + env.Append(LINKFLAGS=["-m32"]) + elif not host_is_64_bit and env["arch"] == "x86_64": + env.Append(CCFLAGS=["-m64"]) + env.Append(LINKFLAGS=["-m64"]) + # CPU architecture flags. if env["arch"] == "rv64": # G = General-purpose extensions, C = Compression extension (very common). @@ -469,22 +479,11 @@ def configure(env: "Environment"): if platform.system() == "FreeBSD": env.Append(LINKFLAGS=["-lkvm"]) - ## Cross-compilation - # TODO: Support cross-compilation on architectures other than x86. - host_is_64_bit = sys.maxsize > 2**32 - if host_is_64_bit and env["arch"] == "x86_32": - env.Append(CCFLAGS=["-m32"]) - env.Append(LINKFLAGS=["-m32", "-L/usr/lib/i386-linux-gnu"]) - elif not host_is_64_bit and env["arch"] == "x86_64": - env.Append(CCFLAGS=["-m64"]) - env.Append(LINKFLAGS=["-m64", "-L/usr/lib/i686-linux-gnu"]) - # Link those statically for portability if env["use_static_cpp"]: env.Append(LINKFLAGS=["-static-libgcc", "-static-libstdc++"]) if env["use_llvm"] and platform.system() != "FreeBSD": env["LINKCOM"] = env["LINKCOM"] + " -l:libatomic.a" - else: if env["use_llvm"] and platform.system() != "FreeBSD": env.Append(LIBS=["atomic"]) |