| ... | @@ -21,6 +21,7 @@ output_dir: ?[]const u8, | ... | @@ -21,6 +21,7 @@ output_dir: ?[]const u8, |
| 21 | out_basename: []const u8, | 21 | out_basename: []const u8, |
| 22 | target: CrossTarget = CrossTarget{}, | 22 | target: CrossTarget = CrossTarget{}, |
| 23 | output_file: build.GeneratedFile, | 23 | output_file: build.GeneratedFile, |
| | 24 | use_stage1: ?bool = null, |
| 24 | | 25 | |
| 25 | pub fn create(builder: *Builder, source: build.FileSource) *TranslateCStep { | 26 | pub 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 | } |
| 94 | | 108 | |
| 95 | try argv_list.append(self.source.getPath(self.builder)); | 109 | try argv_list.append(self.source.getPath(self.builder)); |
| 96 | | 110 | |