Commit 94e52dba85

Andrew Kelley <andrew@ziglang.org>
2019-03-09 07:00:45
fix docgen and fix unnecessarily adding .root suffix to objects
1 parent 5046aa9
Changed files (2)
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) {
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));