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:
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));