| ... | @@ -791,24 +791,19 @@ fn addCmakeCfgOptionsToExe( | ... | @@ -791,24 +791,19 @@ fn addCmakeCfgOptionsToExe( |
| 791 | if (target.abi != .msvc) mod.link_libcpp = true; | 791 | if (target.abi != .msvc) mod.link_libcpp = true; |
| 792 | }, | 792 | }, |
| 793 | .freebsd => { | 793 | .freebsd => { |
| 794 | if (static) { | 794 | try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes); |
| 795 | try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes); | 795 | if (static) try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes); |
| 796 | try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes); | | |
| 797 | } else { | | |
| 798 | try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes); | | |
| 799 | } | | |
| 800 | }, | 796 | }, |
| 801 | .openbsd => { | 797 | .openbsd => { |
| 802 | try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes); | 798 | // - llvm requires libexecinfo which has conflicting symbols with libc++abi |
| 803 | try addCxxKnownPath(b, cfg, exe, b.fmt("libc++abi.{s}", .{lib_suffix}), null, need_cpp_includes); | 799 | // - only an issue with .a linking |
| | 800 | // - workaround is to link c++abi dynamically |
| | 801 | try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{target.dynamicLibSuffix()[1..]}), null, need_cpp_includes); |
| | 802 | try addCxxKnownPath(b, cfg, exe, b.fmt("libc++abi.{s}", .{target.dynamicLibSuffix()[1..]}), null, need_cpp_includes); |
| 804 | }, | 803 | }, |
| 805 | .netbsd, .dragonfly => { | 804 | .netbsd, .dragonfly => { |
| 806 | if (static) { | 805 | try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); |
| 807 | try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); | 806 | if (static) try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes); |
| 808 | try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes); | | |
| 809 | } else { | | |
| 810 | try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); | | |
| 811 | } | | |
| 812 | }, | 807 | }, |
| 813 | .solaris, .illumos => { | 808 | .solaris, .illumos => { |
| 814 | try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); | 809 | try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); |