commit b466f8c81707dd44e905f1bae1b2d30aa026b84b (tree)
parent 5fd5950c9277d5d0bb52e5968dc7d020dbcdd3d8
Author: Felix "xq" Queißner <xq@random-projects.net>
Date: Wed, 24 Aug 2022 14:42:52 +0200
Enables std.build.TranslateCStep to use stage1/stage2 selectively. Unbreaks projects using stage1 and manual TranslateC
Diffstat:
1 file changed, 14 insertions(+), 0 deletions(-)
diff --git 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));