1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-18 14:21:41 +00:00

Merge pull request #84307 from akien-mga/linux-crosscompile-remove-hardcoded-lib-path

Linux: Remove hardcoded lib path for x86 cross-compilation
This commit is contained in:
Rémi Verschelde
2023-11-01 15:13:46 +01:00

View File

@@ -85,6 +85,16 @@ def configure(env: "Environment"):
# gdb works fine without it though, so maybe our crash handler could too. # gdb works fine without it though, so maybe our crash handler could too.
env.Append(LINKFLAGS=["-rdynamic"]) 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. # CPU architecture flags.
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).
@@ -469,22 +479,11 @@ def configure(env: "Environment"):
if platform.system() == "FreeBSD": if platform.system() == "FreeBSD":
env.Append(LINKFLAGS=["-lkvm"]) 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 # Link those statically for portability
if env["use_static_cpp"]: if env["use_static_cpp"]:
env.Append(LINKFLAGS=["-static-libgcc", "-static-libstdc++"]) env.Append(LINKFLAGS=["-static-libgcc", "-static-libstdc++"])
if env["use_llvm"] and platform.system() != "FreeBSD": if env["use_llvm"] and platform.system() != "FreeBSD":
env["LINKCOM"] = env["LINKCOM"] + " -l:libatomic.a" env["LINKCOM"] = env["LINKCOM"] + " -l:libatomic.a"
else: else:
if env["use_llvm"] and platform.system() != "FreeBSD": if env["use_llvm"] and platform.system() != "FreeBSD":
env.Append(LIBS=["atomic"]) env.Append(LIBS=["atomic"])