authorgravatar for xq@random-projects.netFelix "xq" Queißner <xq@random-projects.net> 2022-08-24 14:42:52+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-08-24 15:41:27-04:00
logb466f8c81707dd44e905f1bae1b2d30aa026b84b
treef1fbaea037df47f0034804df89905acffd79b5ab
parent5fd5950c9277d5d0bb52e5968dc7d020dbcdd3d8

Enables std.build.TranslateCStep to use stage1/stage2 selectively. Unbreaks projects using stage1 and manual TranslateC


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

lib/std/build/TranslateCStep.zig+14
...@@ -21,6 +21,7 @@ output_dir: ?[]const u8,...@@ -21,6 +21,7 @@ output_dir: ?[]const u8,
21out_basename: []const u8,21out_basename: []const u8,
22target: CrossTarget = CrossTarget{},22target: CrossTarget = CrossTarget{},
23output_file: build.GeneratedFile,23output_file: build.GeneratedFile,
24use_stage1: ?bool = null,
2425
25pub fn create(builder: *Builder, source: build.FileSource) *TranslateCStep {26pub fn create(builder: *Builder, source: build.FileSource) *TranslateCStep {
26 const self = builder.allocator.create(TranslateCStep) catch unreachable;27 const self = builder.allocator.create(TranslateCStep) catch unreachable;
...@@ -91,6 +92,19 @@ fn make(step: *Step) !void {...@@ -91,6 +92,19 @@ fn make(step: *Step) !void {
91 try argv_list.append("-D");92 try argv_list.append("-D");
92 try argv_list.append(c_macro);93 try argv_list.append(c_macro);
93 }94 }
95 if (self.use_stage1) |stage1| {
96 if (stage1) {
97 try argv_list.append("-fstage1");
98 } else {
99 try argv_list.append("-fno-stage1");
100 }
101 } else if (self.builder.use_stage1) |stage1| {
102 if (stage1) {
103 try argv_list.append("-fstage1");
104 } else {
105 try argv_list.append("-fno-stage1");
106 }
107 }
94108
95 try argv_list.append(self.source.getPath(self.builder));109 try argv_list.append(self.source.getPath(self.builder));
96110