diff options
| author | Sebastien Marie <semarie@users.noreply.github.com> | 2020-12-15 20:45:48 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-15 14:45:48 -0500 |
| commit | 7cd6c25c8fd21bc984814b7051e7fea6fe446cfb (patch) | |
| tree | 3cb22838007e304499b0d428f46f1e08f2d63003 | |
| parent | 8a2ab60fca405d97d2d86456c92db1e5606622e4 (diff) | |
| download | zig-7cd6c25c8fd21bc984814b7051e7fea6fe446cfb.tar.gz zig-7cd6c25c8fd21bc984814b7051e7fea6fe446cfb.zip | |
openbsd: link with required system libraries (#7380)
* openbsd: use -lpthread when linking
and while compiling zig stage2, use c++ and c++abi too
| -rw-r--r-- | build.zig | 3 | ||||
| -rw-r--r-- | src/link/Elf.zig | 2 |
2 files changed, 4 insertions, 1 deletions
@@ -168,6 +168,9 @@ pub fn build(b: *Builder) !void { } else if (exe.target.isFreeBSD()) { try addCxxKnownPath(b, cfg, exe, "libc++.a", null, need_cpp_includes); exe.linkSystemLibrary("pthread"); + } else if (exe.target.getOsTag() == .openbsd) { + try addCxxKnownPath(b, cfg, exe, "libc++.a", null, need_cpp_includes); + try addCxxKnownPath(b, cfg, exe, "libc++abi.a", null, need_cpp_includes); } else if (exe.target.isDarwin()) { if (addCxxKnownPath(b, cfg, exe, "libgcc_eh.a", "", need_cpp_includes)) { // Compiler is GCC. diff --git a/src/link/Elf.zig b/src/link/Elf.zig index 03202c90be..0a7b77ddbb 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -1584,7 +1584,7 @@ fn linkWithLLD(self: *Elf, comp: *Compilation) !void { try argv.append("-lm"); } - if (target.os.tag == .freebsd or target.os.tag == .netbsd) { + if (target.os.tag == .freebsd or target.os.tag == .netbsd or target.os.tag == .openbsd) { try argv.append("-lpthread"); } } else if (target.isGnuLibC()) { |
