authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-08-18 11:56:14+02:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-08-18 11:56:14+02:00
log1e899b8769546d9189f21fbb9a5c58c32657fb8a
tree484881f8e8f6f3457dc14adde89f1988de38361c
parent274400c57d97dc4ea8fff5a6f516feac93eca4e0

check-object: dump contents of LC_BUILD_VERSION and LC_VERSION_MIN_* cmds


1 files changed, 54 insertions(+), 0 deletions(-)

lib/std/Build/Step/CheckObject.zig+54
......@@ -766,6 +766,60 @@ const MachODumper = struct {
766766 });
767767 },
768768
769 .BUILD_VERSION => {
770 const blc = lc.cast(macho.build_version_command).?;
771 try writer.writeByte('\n');
772 try writer.print(
773 \\platform {s}
774 \\minos {d}.{d}.{d}
775 \\sdk {d}.{d}.{d}
776 \\ntools {d}
777 , .{
778 @tagName(blc.platform),
779 blc.minos >> 16,
780 @as(u8, @truncate(blc.minos >> 8)),
781 @as(u8, @truncate(blc.minos)),
782 blc.sdk >> 16,
783 @as(u8, @truncate(blc.sdk >> 8)),
784 @as(u8, @truncate(blc.sdk)),
785 blc.ntools,
786 });
787 for (lc.getBuildVersionTools()) |tool| {
788 try writer.writeByte('\n');
789 switch (tool.tool) {
790 .CLANG, .SWIFT, .LD, .LLD, .ZIG => try writer.print("tool {s}\n", .{@tagName(tool.tool)}),
791 else => |x| try writer.print("tool {d}\n", .{@intFromEnum(x)}),
792 }
793 try writer.print(
794 \\version {d}.{d}.{d}
795 , .{
796 tool.version >> 16,
797 @as(u8, @truncate(tool.version >> 8)),
798 @as(u8, @truncate(tool.version)),
799 });
800 }
801 },
802
803 .VERSION_MIN_MACOSX,
804 .VERSION_MIN_IPHONEOS,
805 .VERSION_MIN_WATCHOS,
806 .VERSION_MIN_TVOS,
807 => {
808 const vlc = lc.cast(macho.version_min_command).?;
809 try writer.writeByte('\n');
810 try writer.print(
811 \\version {d}.{d}.{d}
812 \\sdk {d}.{d}.{d}
813 , .{
814 vlc.version >> 16,
815 @as(u8, @truncate(vlc.version >> 8)),
816 @as(u8, @truncate(vlc.version)),
817 vlc.sdk >> 16,
818 @as(u8, @truncate(vlc.sdk >> 8)),
819 @as(u8, @truncate(vlc.sdk)),
820 });
821 },
822
769823 else => {},
770824 }
771825 }