Browse Source

Merge pull request #45629 from akien-mga/linux-static-cpp

Linux: Build with use_static_cpp=yes by default
Rémi Verschelde 4 năm trước cách đây
mục cha
commit
621b4e433e
1 tập tin đã thay đổi với 5 bổ sung2 xóa
  1. 5 2
      platform/linuxbsd/detect.py

+ 5 - 2
platform/linuxbsd/detect.py

@@ -64,7 +64,7 @@ def get_opts():
         BoolVariable("use_llvm", "Use the LLVM compiler", False),
         BoolVariable("use_lld", "Use the LLD linker", False),
         BoolVariable("use_thinlto", "Use ThinLTO", False),
-        BoolVariable("use_static_cpp", "Link libgcc and libstdc++ statically for better portability", False),
+        BoolVariable("use_static_cpp", "Link libgcc and libstdc++ statically for better portability", True),
         BoolVariable("use_coverage", "Test Godot coverage", False),
         BoolVariable("use_ubsan", "Use LLVM/GCC compiler undefined behavior sanitizer (UBSAN)", False),
         BoolVariable("use_asan", "Use LLVM/GCC compiler address sanitizer (ASAN))", False),
@@ -390,4 +390,7 @@ def configure(env):
 
     # Link those statically for portability
     if env["use_static_cpp"]:
-        env.Append(LINKFLAGS=["-static-libgcc", "-static-libstdc++"])
+        # Workaround for GH-31743, Ubuntu 18.04 i386 crashes when it's used.
+        # That doesn't make any sense but it's likely a Ubuntu bug?
+        if is64 or env["bits"] == "64":
+            env.Append(LINKFLAGS=["-static-libgcc", "-static-libstdc++"])