authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-09-29 14:04:23-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-09-29 14:04:23-04:00
logc8e967f43dcf8e7cbf1efd45530d674ffd3fe6d8
tree2fb11b3f606017717de9858094fb08898ec1c1c9
parentec545859b988d78506f792b7cbea1582c7311d73
signaturelock-open Commit is signed but in an unrecognized format.

detect the windows um include directory


1 files changed, 16 insertions(+), 4 deletions(-)

src/codegen.cpp+16-4
...@@ -8921,13 +8921,25 @@ static void detect_libc(CodeGen *g) {...@@ -8921,13 +8921,25 @@ static void detect_libc(CodeGen *g) {
8921 }8921 }
8922 }8922 }
8923 bool want_sys_dir = !buf_eql_buf(&g->libc->include_dir, &g->libc->sys_include_dir);8923 bool want_sys_dir = !buf_eql_buf(&g->libc->include_dir, &g->libc->sys_include_dir);
8924 size_t dir_count = 1 + want_sys_dir;8924 bool want_um_dir = (g->zig_target->os == OsWindows);
8925 g->libc_include_dir_len = dir_count;8925 size_t dir_count = 1 + want_sys_dir + want_um_dir;
8926 g->libc_include_dir_len = 0;
8926 g->libc_include_dir_list = allocate<Buf*>(dir_count);8927 g->libc_include_dir_list = allocate<Buf*>(dir_count);
8927 g->libc_include_dir_list[0] = &g->libc->include_dir;8928
8929 g->libc_include_dir_list[g->libc_include_dir_len] = &g->libc->include_dir;
8930 g->libc_include_dir_len += 1;
8931
8928 if (want_sys_dir) {8932 if (want_sys_dir) {
8929 g->libc_include_dir_list[1] = &g->libc->sys_include_dir;8933 g->libc_include_dir_list[g->libc_include_dir_len] = &g->libc->sys_include_dir;
8934 g->libc_include_dir_len += 1;
8935 }
8936
8937 if (want_um_dir) {
8938 g->libc_include_dir_list[g->libc_include_dir_len] = buf_sprintf("%s" OS_SEP ".." OS_SEP "um",
8939 buf_ptr(&g->libc->include_dir));
8940 g->libc_include_dir_len += 1;
8930 }8941 }
8942 assert(g->libc_include_dir_len == dir_count);
8931 } else if ((g->out_type == OutTypeExe || (g->out_type == OutTypeLib && g->is_dynamic)) &&8943 } else if ((g->out_type == OutTypeExe || (g->out_type == OutTypeLib && g->is_dynamic)) &&
8932 !target_os_is_darwin(g->zig_target->os))8944 !target_os_is_darwin(g->zig_target->os))
8933 {8945 {