From b466f8c81707dd44e905f1bae1b2d30aa026b84b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20=22xq=22=20Quei=C3=9Fner?= Date: Wed, 24 Aug 2022 14:42:52 +0200 Subject: [PATCH] Enables std.build.TranslateCStep to use stage1/stage2 selectively. Unbreaks projects using stage1 and manual TranslateC --- lib/std/build/TranslateCStep.zig | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/std/build/TranslateCStep.zig b/lib/std/build/TranslateCStep.zig index 1f9bee463c..7d7f2a62a4 100644 --- a/lib/std/build/TranslateCStep.zig +++ b/lib/std/build/TranslateCStep.zig @@ -21,6 +21,7 @@ output_dir: ?[]const u8, out_basename: []const u8, target: CrossTarget = CrossTarget{}, output_file: build.GeneratedFile, +use_stage1: ?bool = null, pub fn create(builder: *Builder, source: build.FileSource) *TranslateCStep { const self = builder.allocator.create(TranslateCStep) catch unreachable; @@ -91,6 +92,19 @@ fn make(step: *Step) !void { try argv_list.append("-D"); try argv_list.append(c_macro); } + if (self.use_stage1) |stage1| { + if (stage1) { + try argv_list.append("-fstage1"); + } else { + try argv_list.append("-fno-stage1"); + } + } else if (self.builder.use_stage1) |stage1| { + if (stage1) { + try argv_list.append("-fstage1"); + } else { + try argv_list.append("-fno-stage1"); + } + } try argv_list.append(self.source.getPath(self.builder));