| ... | ... | @@ -30,8 +30,8 @@ pub fn make( |
| 30 | 30 | const graph = maker.graph; |
| 31 | 31 | const step = maker.stepByIndex(step_index); |
| 32 | 32 | compile.zig_args.clearRetainingCapacity(); |
| 33 | | if (true) @panic("TODO implement compile.make()"); |
| 34 | 33 | try lowerZigArgs(compile, step_index, maker, &compile.zig_args, false); |
| 34 | if (true) @panic("TODO implement compile.make()"); |
| 35 | 35 | const process_arena = graph.arena; // TODO don't leak into the process_arena |
| 36 | 36 | |
| 37 | 37 | const maybe_output_dir = step.evalZigProcess( |
| ... | ... | @@ -92,10 +92,13 @@ fn lowerZigArgs( |
| 92 | 92 | const graph = maker.graph; |
| 93 | 93 | const arena = graph.arena; // TODO don't leak into the process arena |
| 94 | 94 | const gpa = maker.gpa; |
| 95 | const conf = &maker.scanned_config.configuration; |
| 96 | const conf_step = step_index.ptr(conf); |
| 97 | const conf_comp = conf_step.extended.get(conf.extra).compile; |
| 95 | 98 | |
| 96 | 99 | try zig_args.append(gpa, graph.zig_exe); |
| 97 | 100 | |
| 98 | | const cmd = switch (compile.kind) { |
| 101 | const cmd = switch (conf_comp.flags3.kind) { |
| 99 | 102 | .lib => "build-lib", |
| 100 | 103 | .exe => "build-exe", |
| 101 | 104 | .obj => "build-obj", |
| ... | ... | @@ -107,25 +110,32 @@ fn lowerZigArgs( |
| 107 | 110 | if (graph.reference_trace) |some| { |
| 108 | 111 | try zig_args.append(gpa, try allocPrint(arena, "-freference-trace={d}", .{some})); |
| 109 | 112 | } |
| 110 | | try addFlag(&zig_args, "allow-so-scripts", compile.allow_so_scripts orelse graph.allow_so_scripts); |
| 113 | try addFlag(gpa, zig_args, "allow-so-scripts", conf_comp.flags2.allow_so_scripts.toBool() orelse graph.allow_so_scripts); |
| 114 | |
| 115 | try addFlag(gpa, zig_args, "llvm", conf_comp.flags2.use_llvm.toBool()); |
| 116 | try addFlag(gpa, zig_args, "lld", conf_comp.flags2.use_lld.toBool()); |
| 117 | try addFlag(gpa, zig_args, "new-linker", conf_comp.flags2.use_new_linker.toBool()); |
| 111 | 118 | |
| 112 | | try addFlag(&zig_args, "llvm", compile.use_llvm); |
| 113 | | try addFlag(&zig_args, "lld", compile.use_lld); |
| 114 | | try addFlag(&zig_args, "new-linker", compile.use_new_linker); |
| 119 | const root_module = conf_comp.root_module.get(conf); |
| 115 | 120 | |
| 116 | | if (compile.root_module.resolved_target.?.query.ofmt) |ofmt| { |
| 117 | | try zig_args.append(gpa, try allocPrint(arena, "-ofmt={t}", .{ofmt})); |
| 121 | if (root_module.resolved_target.get(conf).?.query.unwrap()) |query| { |
| 122 | if (query.get(conf).flags.object_format.get()) |ofmt| { |
| 123 | try zig_args.append(gpa, try allocPrint(arena, "-ofmt={t}", .{ofmt})); |
| 124 | } |
| 118 | 125 | } |
| 119 | 126 | |
| 120 | | switch (compile.entry) { |
| 127 | switch (conf_comp.flags3.entry) { |
| 121 | 128 | .default => {}, |
| 122 | 129 | .disabled => try zig_args.append(gpa, "-fno-entry"), |
| 123 | 130 | .enabled => try zig_args.append(gpa, "-fentry"), |
| 124 | | .symbol_name => |entry_name| { |
| 125 | | try zig_args.append(gpa, try allocPrint(arena, "-fentry={s}", .{entry_name})); |
| 131 | .symbol_name => { |
| 132 | const symbol_name = conf_comp.entry.value.?.slice(conf); |
| 133 | try zig_args.append(gpa, try allocPrint(arena, "-fentry={s}", .{symbol_name})); |
| 126 | 134 | }, |
| 127 | 135 | } |
| 128 | 136 | |
| 137 | if (true) @panic("TODO"); |
| 138 | |
| 129 | 139 | { |
| 130 | 140 | for (compile.force_undefined_symbols.keys()) |symbol_name| { |
| 131 | 141 | try zig_args.append(gpa, "--force_undefined"); |
| ... | ... | @@ -408,7 +418,7 @@ fn lowerZigArgs( |
| 408 | 418 | if (!my_responsibility) continue; |
| 409 | 419 | if (cli_named_modules.modules.getIndex(mod)) |module_cli_index| { |
| 410 | 420 | const module_cli_name = cli_named_modules.names.keys()[module_cli_index]; |
| 411 | | try mod.appendZigProcessFlags(&zig_args, step); |
| 421 | try mod.appendZigProcessFlags(zig_args, step); |
| 412 | 422 | |
| 413 | 423 | // --dep arguments |
| 414 | 424 | try zig_args.ensureUnusedCapacity(mod.import_table.count() * 2); |
| ... | ... | @@ -507,7 +517,7 @@ fn lowerZigArgs( |
| 507 | 517 | if (compile.generated_llvm_ir != null) try zig_args.append(gpa, "-femit-llvm-ir"); |
| 508 | 518 | if (compile.generated_h != null) try zig_args.append(gpa, "-femit-h"); |
| 509 | 519 | |
| 510 | | try addFlag(&zig_args, "formatted-panics", compile.formatted_panics); |
| 520 | try addFlag(gpa, zig_args, "formatted-panics", compile.formatted_panics); |
| 511 | 521 | |
| 512 | 522 | switch (compile.compress_debug_sections) { |
| 513 | 523 | .none => {}, |
| ... | ... | @@ -612,9 +622,9 @@ fn lowerZigArgs( |
| 612 | 622 | try zig_args.append(gpa, "--discard-all"); |
| 613 | 623 | } |
| 614 | 624 | |
| 615 | | try addFlag(&zig_args, "compiler-rt", compile.bundle_compiler_rt); |
| 616 | | try addFlag(&zig_args, "ubsan-rt", compile.bundle_ubsan_rt); |
| 617 | | try addFlag(&zig_args, "dll-export-fns", compile.dll_export_fns); |
| 625 | try addFlag(gpa, zig_args, "compiler-rt", compile.bundle_compiler_rt); |
| 626 | try addFlag(gpa, zig_args, "ubsan-rt", compile.bundle_ubsan_rt); |
| 627 | try addFlag(gpa, zig_args, "dll-export-fns", compile.dll_export_fns); |
| 618 | 628 | if (compile.rdynamic) { |
| 619 | 629 | try zig_args.append(gpa, "-rdynamic"); |
| 620 | 630 | } |
| ... | ... | @@ -718,7 +728,7 @@ fn lowerZigArgs( |
| 718 | 728 | try zig_args.appendSlice(gpa, &.{ "-rcincludes", @tagName(compile.rc_includes) }); |
| 719 | 729 | } |
| 720 | 730 | |
| 721 | | try addFlag(&zig_args, "each-lib-rpath", compile.each_lib_rpath); |
| 731 | try addFlag(gpa, zig_args, "each-lib-rpath", compile.each_lib_rpath); |
| 722 | 732 | |
| 723 | 733 | if (compile.build_id orelse graph.build_id) |build_id| { |
| 724 | 734 | try zig_args.append(gpa, switch (build_id) { |
| ... | ... | @@ -739,7 +749,7 @@ fn lowerZigArgs( |
| 739 | 749 | try zig_args.append(gpa, zig_lib_dir); |
| 740 | 750 | } |
| 741 | 751 | |
| 742 | | try addFlag(&zig_args, "PIE", compile.pie); |
| 752 | try addFlag(gpa, zig_args, "PIE", compile.pie); |
| 743 | 753 | |
| 744 | 754 | if (compile.lto) |lto| { |
| 745 | 755 | try zig_args.append(gpa, switch (lto) { |
| ... | ... | @@ -749,7 +759,7 @@ fn lowerZigArgs( |
| 749 | 759 | }); |
| 750 | 760 | } |
| 751 | 761 | |
| 752 | | try addFlag(&zig_args, "sanitize-coverage-trace-pc-guard", compile.sanitize_coverage_trace_pc_guard); |
| 762 | try addFlag(gpa, zig_args, "sanitize-coverage-trace-pc-guard", compile.sanitize_coverage_trace_pc_guard); |
| 753 | 763 | |
| 754 | 764 | if (compile.subsystem) |subsystem| { |
| 755 | 765 | try zig_args.appendSlice(gpa, &.{ "--subsystem", @tagName(subsystem) }); |
| ... | ... | @@ -763,7 +773,7 @@ fn lowerZigArgs( |
| 763 | 773 | "--error-limit", try allocPrint(arena, "{d}", .{err_limit}), |
| 764 | 774 | }); |
| 765 | 775 | |
| 766 | | try addFlag(&zig_args, "incremental", graph.incremental); |
| 776 | try addFlag(gpa, zig_args, "incremental", graph.incremental); |
| 767 | 777 | |
| 768 | 778 | try zig_args.append(gpa, "--listen=-"); |
| 769 | 779 | |