zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit b0f124d46dfd719fc138ab140622f5f6b1aa65f0 (tree)
parent f83e200ac04e26beac1f147f9a3bef8c6291de0f
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Tue,  2 Jun 2026 16:51:07 -0700

std.zig.PkgConfig: recognize -pthread

Diffstat:
Mlib/std/zig/PkgConfig.zig | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git a/lib/std/zig/PkgConfig.zig b/lib/std/zig/PkgConfig.zig @@ -95,6 +95,7 @@ pub const Parsed = struct { cflags: []const []const u8, libs: []const []const u8, unknown_flags: []const []const u8, + pthread: bool, }; pub const ParseError = Allocator.Error || error{InvalidPkgConfigOutput}; @@ -105,6 +106,7 @@ pub fn parse(arena: Allocator, stdout: []const u8) ParseError!Parsed { var zig_libs: std.ArrayList([]const u8) = .empty; var unknown_flags: std.ArrayList([]const u8) = .empty; var arg_it = mem.tokenizeAny(u8, stdout, " \r\n\t"); + var pthread = false; while (arg_it.next()) |arg| { if (mem.eql(u8, arg, "-I")) { @@ -129,6 +131,8 @@ pub fn parse(arena: Allocator, stdout: []const u8) ParseError!Parsed { try zig_cflags.append(arena, arg); } else if (mem.cutPrefix(u8, arg, "-Wl,-rpath,")) |rest| { try zig_cflags.appendSlice(arena, &.{ "-rpath", rest }); + } else if (mem.eql(u8, arg, "-pthread")) { + pthread = true; } else { try unknown_flags.append(arena, arg); } @@ -142,5 +146,6 @@ pub fn parse(arena: Allocator, stdout: []const u8) ParseError!Parsed { .cflags = zig_cflags.toOwnedSliceAssert(), .libs = zig_libs.toOwnedSliceAssert(), .unknown_flags = unknown_flags.toOwnedSliceAssert(), + .pthread = pthread, }; }