Procházet zdrojové kódy

Allow static linking with libatomic using clang

When using use_static_cpp we want to statically link with atomic as well
to make sure we don't incur any new runtime dependencies.

Scons doesn't quite support this so we do this little trick.
Hein-Pieter van Braam-Stewart před 4 roky
rodič
revize
5f71fad6b6
1 změnil soubory, kde provedl 6 přidání a 1 odebrání
  1. 6 1
      platform/x11/detect.py

+ 6 - 1
platform/x11/detect.py

@@ -129,7 +129,6 @@ def configure(env):
             env["CC"] = "clang"
             env["CXX"] = "clang++"
         env.extra_suffix = ".llvm" + env.extra_suffix
-        env.Append(LIBS=["atomic"])
 
     if env["use_lld"]:
         if env["use_llvm"]:
@@ -382,3 +381,9 @@ def configure(env):
         # 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++"])
+        if env["use_llvm"]:
+            env["LINKCOM"] = env["LINKCOM"] + " -l:libatomic.a"
+
+    else:
+        if env["use_llvm"]:
+            env.Append(LIBS=["atomic"])