Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

systemIntegrationOptions

Serialize.systemIntegrationOptions
pub fn systemIntegrationOptions(graph: *std.Build.Graph, wc: *Configuration.Wip) Allocator.Error!void

File

lib/std/Build/Serialize.zig:679

Code

pub fn systemIntegrationOptions(graph: *std.Build.Graph, wc: *Configuration.Wip) Allocator.Error!void {
    const gpa = wc.gpa;

    var bad = false;
    try wc.system_integrations.ensureTotalCapacityPrecise(gpa, graph.system_integration_options.entries.len);
    for (graph.system_integration_options.keys(), graph.system_integration_options.values()) |k, v| {
        wc.system_integrations.appendAssumeCapacity(.{
            .name = try wc.addString(k),
            .status = switch (v) {
                .user_disabled, .user_enabled => x: {
                    // The user tried to enable or disable a system library integration, but
                    // the configure script did not recognize that option.
                    log.err("system integration name not recognized by configure script: {s}", .{k});
                    bad = true;
                    break :x .disabled;
                },
                .declared_disabled => .disabled,
                .declared_enabled => .enabled,
            },
        });
    }
    if (bad) {
        log.info("help menu contains available options: zig build -h", .{});
        std.process.exit(1);
    }
}