support 0.9.1 (#691)

This commit is contained in:
Lee Cannon 2022-09-29 20:48:37 +01:00 committed by GitHub
parent 32ce19f9a8
commit 3c4535a321
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -118,7 +118,10 @@ pub fn main() !void {
); );
} }
fn reifyOptions(step: *std.build.Step) !void { fn reifyOptions(step: *std.build.Step) anyerror!void {
// Support Zig 0.9.1
if (!@hasDecl(OptionsStep, "base_id")) return;
if (step.cast(OptionsStep)) |option| { if (step.cast(OptionsStep)) |option| {
// We don't know how costly the dependency tree might be, so err on the side of caution // We don't know how costly the dependency tree might be, so err on the side of caution
if (step.dependencies.items.len == 0) { if (step.dependencies.items.len == 0) {
@ -172,7 +175,9 @@ fn processPackage(
if (std.mem.eql(u8, package.name, pkg.name)) return; if (std.mem.eql(u8, package.name, pkg.name)) return;
} }
// Support Zig 0.9.1
const source = if (@hasField(std.build.Pkg, "source")) pkg.source else pkg.path; const source = if (@hasField(std.build.Pkg, "source")) pkg.source else pkg.path;
const maybe_path = switch (source) { const maybe_path = switch (source) {
.path => |path| path, .path => |path| path,
.generated => |generated| generated.path, .generated => |generated| generated.path,
@ -216,6 +221,9 @@ fn processPkgConfig(
if (link_object != .system_lib) continue; if (link_object != .system_lib) continue;
const system_lib = link_object.system_lib; const system_lib = link_object.system_lib;
// Support Zig 0.9.1
if (@TypeOf(system_lib) == []const u8) return;
if (system_lib.use_pkg_config == .no) continue; if (system_lib.use_pkg_config == .no) continue;
getPkgConfigIncludes(allocator, include_dirs, exe, system_lib.name) catch |err| switch (err) { getPkgConfigIncludes(allocator, include_dirs, exe, system_lib.name) catch |err| switch (err) {