diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2023-08-18 11:56:14 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2023-08-18 11:56:14 +0200 |
| commit | 1e899b8769546d9189f21fbb9a5c58c32657fb8a (patch) | |
| tree | 484881f8e8f6f3457dc14adde89f1988de38361c /lib/std/Build/Step/CheckObject.zig | |
| parent | 274400c57d97dc4ea8fff5a6f516feac93eca4e0 (diff) | |
| download | zig-1e899b8769546d9189f21fbb9a5c58c32657fb8a.tar.gz zig-1e899b8769546d9189f21fbb9a5c58c32657fb8a.zip | |
check-object: dump contents of LC_BUILD_VERSION and LC_VERSION_MIN_* cmds
Diffstat (limited to 'lib/std/Build/Step/CheckObject.zig')
| -rw-r--r-- | lib/std/Build/Step/CheckObject.zig | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/lib/std/Build/Step/CheckObject.zig b/lib/std/Build/Step/CheckObject.zig index f69427ab05..26d3e89552 100644 --- a/lib/std/Build/Step/CheckObject.zig +++ b/lib/std/Build/Step/CheckObject.zig @@ -766,6 +766,60 @@ const MachODumper = struct { }); }, + .BUILD_VERSION => { + const blc = lc.cast(macho.build_version_command).?; + try writer.writeByte('\n'); + try writer.print( + \\platform {s} + \\minos {d}.{d}.{d} + \\sdk {d}.{d}.{d} + \\ntools {d} + , .{ + @tagName(blc.platform), + blc.minos >> 16, + @as(u8, @truncate(blc.minos >> 8)), + @as(u8, @truncate(blc.minos)), + blc.sdk >> 16, + @as(u8, @truncate(blc.sdk >> 8)), + @as(u8, @truncate(blc.sdk)), + blc.ntools, + }); + for (lc.getBuildVersionTools()) |tool| { + try writer.writeByte('\n'); + switch (tool.tool) { + .CLANG, .SWIFT, .LD, .LLD, .ZIG => try writer.print("tool {s}\n", .{@tagName(tool.tool)}), + else => |x| try writer.print("tool {d}\n", .{@intFromEnum(x)}), + } + try writer.print( + \\version {d}.{d}.{d} + , .{ + tool.version >> 16, + @as(u8, @truncate(tool.version >> 8)), + @as(u8, @truncate(tool.version)), + }); + } + }, + + .VERSION_MIN_MACOSX, + .VERSION_MIN_IPHONEOS, + .VERSION_MIN_WATCHOS, + .VERSION_MIN_TVOS, + => { + const vlc = lc.cast(macho.version_min_command).?; + try writer.writeByte('\n'); + try writer.print( + \\version {d}.{d}.{d} + \\sdk {d}.{d}.{d} + , .{ + vlc.version >> 16, + @as(u8, @truncate(vlc.version >> 8)), + @as(u8, @truncate(vlc.version)), + vlc.sdk >> 16, + @as(u8, @truncate(vlc.sdk >> 8)), + @as(u8, @truncate(vlc.sdk)), + }); + }, + else => {}, } } |
