diff options
author | Hein-Pieter van Braam-Stewart <hp@tmm.cx> | 2021-02-23 14:51:44 +0100 |
---|---|---|
committer | Hein-Pieter van Braam-Stewart <hp@tmm.cx> | 2021-02-23 14:51:44 +0100 |
commit | 0dc368f9f91364e082f06b349844c42df2ffbfd9 (patch) | |
tree | 0df34815dc9b136e192670c9b455c0ade37b7f08 /platform | |
parent | e254715e796f108d6d3fffa24cad9be90d2926e6 (diff) |
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.
Diffstat (limited to 'platform')
-rw-r--r-- | platform/linuxbsd/detect.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py index ff521e4e7f..8f1afe0e66 100644 --- a/platform/linuxbsd/detect.py +++ b/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"]) |