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 standard library.
std › Build › package_map Public Constant package_map Doc Source 1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005 pub const package_map : std .StaticStringMap (PackageEntry ) = blk : {
const deps = @import ("root" ).dependencies ;
const decl_names = @typeInfo (deps .packages ).@"struct" .decl_names ;
var kvs : [decl_names .len ]struct { []const u8 , PackageEntry } = undefined ;
for (decl_names , 0 ..) |decl_name , i | {
const pkg = @field (deps .packages , decl_name );
const available = !@hasDecl (pkg , "available" ) or pkg .available ;
kvs [i ] = .{ decl_name , .{
.hash = decl_name ,
.available = available ,
.build_root = if (available ) pkg .build_root else "" ,
.deps = if (available ) pkg .deps else &.{},
.run_build = if (available and @hasDecl (pkg , "build_zig" )) &struct {
fn run (sb : *Build ) void {
sb .runPackageScript (pkg .build_zig );
}
}.run else null ,
} };
}
const frozen = kvs ;
break :blk .initComptime (&frozen );
}
Build system implementation detail.