瀏覽代碼

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 4 年之前
父節點
當前提交
0dc368f9f9
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      platform/linuxbsd/detect.py

+ 6 - 1
platform/linuxbsd/detect.py

@@ -127,7 +127,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"]:
@@ -394,3 +393,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"])