zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 94e52dba85e4b81f5c4f2576c91df039604d06fb (tree)
parent 5046aa9403e98fec7a744f35faa9d17925c9079d
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Sat,  9 Mar 2019 01:00:45 -0500

fix docgen and fix unnecessarily adding .root suffix to objects

Diffstat:
Mdoc/docgen.zig | 26++++++++++++++------------
Msrc/codegen.cpp | 14+++++---------
2 files changed, 19 insertions(+), 21 deletions(-)

diff --git a/doc/docgen.zig b/doc/docgen.zig @@ -1011,8 +1011,10 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var zig_exe, "build-exe", tmp_source_file_name, - "--output", - tmp_bin_file_name, + "--output-dir", + tmp_dir_name, + "--name", + code.name, }); try out.print("<pre><code class=\"shell\">$ zig build-exe {}.zig", code.name); switch (code.mode) { @@ -1085,8 +1087,8 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var zig_exe, "test", tmp_source_file_name, - "--output", - test_out_path, + "--output-dir", + tmp_dir_name, }); try out.print("<pre><code class=\"shell\">$ zig test {}.zig", code.name); switch (code.mode) { @@ -1122,8 +1124,8 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var "--color", "on", tmp_source_file_name, - "--output", - test_out_path, + "--output-dir", + tmp_dir_name, }); try out.print("<pre><code class=\"shell\">$ zig test {}.zig", code.name); switch (code.mode) { @@ -1179,8 +1181,8 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var zig_exe, "test", tmp_source_file_name, - "--output", - test_out_path, + "--output-dir", + tmp_dir_name, }); switch (code.mode) { builtin.Mode.Debug => {}, @@ -1239,10 +1241,10 @@ fn genHtml(allocator: *mem.Allocator, tokenizer: *Tokenizer, toc: *Toc, out: var tmp_source_file_name, "--color", "on", - "--output", - tmp_obj_file_name, - "--output-h", - output_h_file_name, + "--name", + code.name, + "--output-dir", + tmp_dir_name, }); if (!code.is_inline) { diff --git a/src/codegen.cpp b/src/codegen.cpp @@ -9120,18 +9120,14 @@ static void resolve_out_paths(CodeGen *g) { buf_init_from_buf(&g->output_file_path, g->link_objects.at(0)); return; } - if (!need_llvm_module(g) || (g->enable_cache && g->link_objects.length == 0)) { - // Either we're not creating an object file from our LLVM Module, - // or we have caching enabled and do not need to link objects together. - // In both cases, the output file path and object file path basename can match. - buf_append_str(o_basename, target_o_file_ext(g->zig_target)); - buf_append_str(out_basename, target_o_file_ext(g->zig_target)); - } else { + if (need_llvm_module(g) && g->link_objects.length != 0 && !g->enable_cache && + buf_eql_buf(o_basename, out_basename)) + { // make it not collide with main output object buf_append_str(o_basename, ".root"); - buf_append_str(o_basename, target_o_file_ext(g->zig_target)); - buf_append_str(out_basename, target_o_file_ext(g->zig_target)); } + buf_append_str(o_basename, target_o_file_ext(g->zig_target)); + buf_append_str(out_basename, target_o_file_ext(g->zig_target)); break; case OutTypeExe: buf_append_str(o_basename, target_o_file_ext(g->zig_target));