aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation
diff options
context:
space:
mode:
Diffstat (limited to 'src/Compilation')
-rw-r--r--src/Compilation/Config.zig6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Compilation/Config.zig b/src/Compilation/Config.zig
index 493c63f34f..1251552086 100644
--- a/src/Compilation/Config.zig
+++ b/src/Compilation/Config.zig
@@ -339,6 +339,7 @@ pub fn resolve(options: Options) ResolveError!Config {
// These targets don't require libc, but we don't yet have a syscall layer for them,
// so we default to linking libc for now.
.freebsd,
+ .netbsd,
=> break :b true,
else => {},
}
@@ -362,7 +363,8 @@ pub fn resolve(options: Options) ResolveError!Config {
if (explicitly_exe_or_dyn_lib and link_libc and
(target_util.osRequiresLibC(target) or
// For these libcs, Zig can only provide dynamic libc when cross-compiling.
- ((target.isGnuLibC() or target.isFreeBSDLibC()) and !options.resolved_target.is_native_abi)))
+ ((target.isGnuLibC() or target.isFreeBSDLibC() or target.isNetBSDLibC()) and
+ !options.resolved_target.is_native_abi)))
{
if (options.link_mode == .static) return error.LibCRequiresDynamicLinking;
break :b .dynamic;
@@ -386,7 +388,7 @@ pub fn resolve(options: Options) ResolveError!Config {
// When targeting systems where the kernel and libc are developed alongside each other,
// dynamic linking is the better default; static libc may contain code that requires
// the very latest kernel version.
- if (target.isFreeBSDLibC()) {
+ if (target.isFreeBSDLibC() or target.isNetBSDLibC()) {
break :b .dynamic;
}
}