| ... | ... | @@ -21,6 +21,7 @@ output_dir: ?[]const u8, |
| 21 | 21 | out_basename: []const u8, |
| 22 | 22 | target: CrossTarget = CrossTarget{}, |
| 23 | 23 | output_file: build.GeneratedFile, |
| 24 | use_stage1: ?bool = null, |
| 24 | 25 | |
| 25 | 26 | pub fn create(builder: *Builder, source: build.FileSource) *TranslateCStep { |
| 26 | 27 | const self = builder.allocator.create(TranslateCStep) catch unreachable; |
| ... | ... | @@ -91,6 +92,19 @@ fn make(step: *Step) !void { |
| 91 | 92 | try argv_list.append("-D"); |
| 92 | 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 | 109 | try argv_list.append(self.source.getPath(self.builder)); |
| 96 | 110 | |