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 {...@@ -16,11 +16,12 @@ pub fn build(b: *Builder) !void {
16 var docgen_exe = b.addExecutable("docgen", "doc/docgen.zig");16 var docgen_exe = b.addExecutable("docgen", "doc/docgen.zig");
1717
18 const rel_zig_exe = try os.path.relative(b.allocator, b.build_root, b.zig_exe);18 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;
19 var docgen_cmd = b.addCommand(null, b.env_map, [][]const u8{20 var docgen_cmd = b.addCommand(null, b.env_map, [][]const u8{
20 docgen_exe.getOutputPath(),21 docgen_exe.getOutputPath(),
21 rel_zig_exe,22 rel_zig_exe,
22 "doc" ++ os.path.sep_str ++ "langref.html.in",23 "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,
24 });25 });
25 docgen_cmd.step.dependOn(&docgen_exe.step);26 docgen_cmd.step.dependOn(&docgen_exe.step);
2627
src/main.cpp+11-5
...@@ -353,7 +353,7 @@ int main(int argc, char **argv) {...@@ -353,7 +353,7 @@ int main(int argc, char **argv) {
353 size_t ver_minor = 0;353 size_t ver_minor = 0;
354 size_t ver_patch = 0;354 size_t ver_patch = 0;
355 bool timing_info = false;355 bool timing_info = false;
356 const char *cache_dir = default_zig_cache_name;356 const char *cache_dir = nullptr;
357 CliPkg *cur_pkg = allocate<CliPkg>(1);357 CliPkg *cur_pkg = allocate<CliPkg>(1);
358 BuildMode build_mode = BuildModeDebug;358 BuildMode build_mode = BuildModeDebug;
359 ZigList<const char *> test_exec_args = {0};359 ZigList<const char *> test_exec_args = {0};
...@@ -403,7 +403,7 @@ int main(int argc, char **argv) {...@@ -403,7 +403,7 @@ int main(int argc, char **argv) {
403403
404 CodeGen *g = codegen_create(build_runner_path, nullptr, OutTypeExe, BuildModeDebug, zig_lib_dir_buf);404 CodeGen *g = codegen_create(build_runner_path, nullptr, OutTypeExe, BuildModeDebug, zig_lib_dir_buf);
405 g->enable_time_report = timing_info;405 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);
407 codegen_set_out_name(g, buf_create_from_str("build"));407 codegen_set_out_name(g, buf_create_from_str("build"));
408408
409 Buf *build_file_buf = buf_create_from_str(build_file);409 Buf *build_file_buf = buf_create_from_str(build_file);
...@@ -412,8 +412,14 @@ int main(int argc, char **argv) {...@@ -412,8 +412,14 @@ int main(int argc, char **argv) {
412 Buf build_file_dirname = BUF_INIT;412 Buf build_file_dirname = BUF_INIT;
413 os_path_split(&build_file_abs, &build_file_dirname, &build_file_basename);413 os_path_split(&build_file_abs, &build_file_dirname, &build_file_basename);
414414
415 Buf *cache_dir_buf = buf_create_from_str(cache_dir);415
416 Buf full_cache_dir = os_path_resolve(&cache_dir_buf, 1);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
418 args.items[1] = buf_ptr(&build_file_dirname);424 args.items[1] = buf_ptr(&build_file_dirname);
419 args.items[2] = buf_ptr(&full_cache_dir);425 args.items[2] = buf_ptr(&full_cache_dir);
...@@ -830,7 +836,7 @@ int main(int argc, char **argv) {...@@ -830,7 +836,7 @@ int main(int argc, char **argv) {
830836
831 CodeGen *g = codegen_create(zig_root_source_file, target, out_type, build_mode, zig_lib_dir_buf);837 CodeGen *g = codegen_create(zig_root_source_file, target, out_type, build_mode, zig_lib_dir_buf);
832 g->enable_time_report = timing_info;838 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);
834 codegen_set_out_name(g, buf_out_name);840 codegen_set_out_name(g, buf_out_name);
835 codegen_set_lib_version(g, ver_major, ver_minor, ver_patch);841 codegen_set_lib_version(g, ver_major, ver_minor, ver_patch);
836 codegen_set_is_test(g, cmd == CmdTest);842 codegen_set_is_test(g, cmd == CmdTest);