| ... | ... | @@ -16,11 +16,13 @@ out_basename: []const u8, |
| 16 | 16 | target: CrossTarget, |
| 17 | 17 | optimize: std.builtin.OptimizeMode, |
| 18 | 18 | output_file: std.Build.GeneratedFile, |
| 19 | link_libc: bool, |
| 19 | 20 | |
| 20 | 21 | pub const Options = struct { |
| 21 | 22 | source_file: std.Build.LazyPath, |
| 22 | 23 | target: CrossTarget, |
| 23 | 24 | optimize: std.builtin.OptimizeMode, |
| 25 | link_libc: bool = true, |
| 24 | 26 | }; |
| 25 | 27 | |
| 26 | 28 | pub fn create(owner: *std.Build, options: Options) *TranslateC { |
| ... | ... | @@ -40,6 +42,7 @@ pub fn create(owner: *std.Build, options: Options) *TranslateC { |
| 40 | 42 | .target = options.target, |
| 41 | 43 | .optimize = options.optimize, |
| 42 | 44 | .output_file = std.Build.GeneratedFile{ .step = &self.step }, |
| 45 | .link_libc = options.link_libc, |
| 43 | 46 | }; |
| 44 | 47 | source.addStepDependencies(&self.step); |
| 45 | 48 | return self; |
| ... | ... | @@ -124,7 +127,9 @@ fn make(step: *Step, prog_node: *std.Progress.Node) !void { |
| 124 | 127 | var argv_list = std.ArrayList([]const u8).init(b.allocator); |
| 125 | 128 | try argv_list.append(b.zig_exe); |
| 126 | 129 | try argv_list.append("translate-c"); |
| 127 | | try argv_list.append("-lc"); |
| 130 | if (self.link_libc) { |
| 131 | try argv_list.append("-lc"); |
| 132 | } |
| 128 | 133 | |
| 129 | 134 | try argv_list.append("--listen=-"); |
| 130 | 135 | |