| ... | @@ -1708,15 +1708,34 @@ pub const LibExeObjStep = struct { | ... | @@ -1708,15 +1708,34 @@ pub const LibExeObjStep = struct { |
| 1708 | | 1708 | |
| 1709 | pub fn addBuildOption(self: *LibExeObjStep, comptime T: type, name: []const u8, value: T) void { | 1709 | pub fn addBuildOption(self: *LibExeObjStep, comptime T: type, name: []const u8, value: T) void { |
| 1710 | const out = self.build_options_contents.outStream(); | 1710 | const out = self.build_options_contents.outStream(); |
| 1711 | if (T == []const []const u8) { | 1711 | switch (T) { |
| 1712 | out.print("pub const {}: []const []const u8 = &[_][]const u8{{\n", .{name}) catch unreachable; | 1712 | []const []const u8 => { |
| 1713 | for (value) |slice| { | 1713 | out.print("pub const {}: []const []const u8 = &[_][]const u8{{\n", .{name}) catch unreachable; |
| 1714 | out.writeAll(" ") catch unreachable; | 1714 | for (value) |slice| { |
| 1715 | std.zig.renderStringLiteral(slice, out) catch unreachable; | 1715 | out.writeAll(" ") catch unreachable; |
| 1716 | out.writeAll(",\n") catch unreachable; | 1716 | std.zig.renderStringLiteral(slice, out) catch unreachable; |
| 1717 | } | 1717 | out.writeAll(",\n") catch unreachable; |
| 1718 | out.writeAll("};\n") catch unreachable; | 1718 | } |
| 1719 | return; | 1719 | out.writeAll("};\n") catch unreachable; |
| | 1720 | return; |
| | 1721 | }, |
| | 1722 | []const u8 => { |
| | 1723 | out.print("pub const {}: []const u8 = ", .{name}) catch unreachable; |
| | 1724 | std.zig.renderStringLiteral(value, out) catch unreachable; |
| | 1725 | out.writeAll(";\n") catch unreachable; |
| | 1726 | return; |
| | 1727 | }, |
| | 1728 | ?[]const u8 => { |
| | 1729 | out.print("pub const {}: ?[]const u8 = ", .{name}) catch unreachable; |
| | 1730 | if (value) |payload| { |
| | 1731 | std.zig.renderStringLiteral(payload, out) catch unreachable; |
| | 1732 | out.writeAll(";\n") catch unreachable; |
| | 1733 | } else { |
| | 1734 | out.writeAll("null;\n") catch unreachable; |
| | 1735 | } |
| | 1736 | return; |
| | 1737 | }, |
| | 1738 | else => {}, |
| 1720 | } | 1739 | } |
| 1721 | switch (@typeInfo(T)) { | 1740 | switch (@typeInfo(T)) { |
| 1722 | .Enum => |enum_info| { | 1741 | .Enum => |enum_info| { |