authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-09-12 11:49:46-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-09-12 11:49:46-04:00
log3a49d115cf38154f0094d9615334529890059006
treec81c6f02e98d451d3c5d03d0374e0ee945e39411
parent1caa48c2df63d61b8d2501b3e3ee7c85ee8d89cb
signaturelock-open Commit is signed but in an unrecognized format.

fix zig build cache dir path


2 files changed, 13 insertions(+), 6 deletions(-)

build.zig+2-1
......@@ -16,11 +16,12 @@ pub fn build(b: *Builder) !void {
1616 var docgen_exe = b.addExecutable("docgen", "doc/docgen.zig");
1717
1818 const rel_zig_exe = try os.path.relative(b.allocator, b.build_root, b.zig_exe);
19 const langref_out_path = os.path.join(b.allocator, b.cache_root, "langref.html") catch unreachable;
1920 var docgen_cmd = b.addCommand(null, b.env_map, [][]const u8{
2021 docgen_exe.getOutputPath(),
2122 rel_zig_exe,
2223 "doc" ++ os.path.sep_str ++ "langref.html.in",
23 os.path.join(b.allocator, b.cache_root, "langref.html") catch unreachable,
24 langref_out_path,
2425 });
2526 docgen_cmd.step.dependOn(&docgen_exe.step);
2627
src/main.cpp+11-5
......@@ -353,7 +353,7 @@ int main(int argc, char **argv) {
353353 size_t ver_minor = 0;
354354 size_t ver_patch = 0;
355355 bool timing_info = false;
356 const char *cache_dir = default_zig_cache_name;
356 const char *cache_dir = nullptr;
357357 CliPkg *cur_pkg = allocate<CliPkg>(1);
358358 BuildMode build_mode = BuildModeDebug;
359359 ZigList<const char *> test_exec_args = {0};
......@@ -403,7 +403,7 @@ int main(int argc, char **argv) {
403403
404404 CodeGen *g = codegen_create(build_runner_path, nullptr, OutTypeExe, BuildModeDebug, zig_lib_dir_buf);
405405 g->enable_time_report = timing_info;
406 buf_init_from_str(&g->cache_dir, cache_dir);
406 buf_init_from_str(&g->cache_dir, cache_dir ? cache_dir : default_zig_cache_name);
407407 codegen_set_out_name(g, buf_create_from_str("build"));
408408
409409 Buf *build_file_buf = buf_create_from_str(build_file);
......@@ -412,8 +412,14 @@ int main(int argc, char **argv) {
412412 Buf build_file_dirname = BUF_INIT;
413413 os_path_split(&build_file_abs, &build_file_dirname, &build_file_basename);
414414
415 Buf *cache_dir_buf = buf_create_from_str(cache_dir);
416 Buf full_cache_dir = os_path_resolve(&cache_dir_buf, 1);
415
416 Buf full_cache_dir = BUF_INIT;
417 if (cache_dir == nullptr) {
418 os_path_join(&build_file_dirname, buf_create_from_str(default_zig_cache_name), &full_cache_dir);
419 } else {
420 Buf *cache_dir_buf = buf_create_from_str(cache_dir);
421 full_cache_dir = os_path_resolve(&cache_dir_buf, 1);
422 }
417423
418424 args.items[1] = buf_ptr(&build_file_dirname);
419425 args.items[2] = buf_ptr(&full_cache_dir);
......@@ -830,7 +836,7 @@ int main(int argc, char **argv) {
830836
831837 CodeGen *g = codegen_create(zig_root_source_file, target, out_type, build_mode, zig_lib_dir_buf);
832838 g->enable_time_report = timing_info;
833 buf_init_from_str(&g->cache_dir, cache_dir);
839 buf_init_from_str(&g->cache_dir, cache_dir ? cache_dir : default_zig_cache_name);
834840 codegen_set_out_name(g, buf_out_name);
835841 codegen_set_lib_version(g, ver_major, ver_minor, ver_patch);
836842 codegen_set_is_test(g, cmd == CmdTest);