| ... | ... | @@ -8921,13 +8921,29 @@ static void detect_libc(CodeGen *g) { |
| 8921 | 8921 | } |
| 8922 | 8922 | } |
| 8923 | 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; |
| 8925 | | g->libc_include_dir_len = dir_count; |
| 8924 | size_t want_um_and_shared_dirs = (g->zig_target->os == OsWindows) ? 2 : 0; |
| 8925 | size_t dir_count = 1 + want_sys_dir + want_um_and_shared_dirs; |
| 8926 | g->libc_include_dir_len = 0; |
| 8926 | 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 | 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_and_shared_dirs != 0) { |
| 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; |
| 8941 | |
| 8942 | g->libc_include_dir_list[g->libc_include_dir_len] = buf_sprintf("%s" OS_SEP ".." OS_SEP "shared", |
| 8943 | buf_ptr(&g->libc->include_dir)); |
| 8944 | g->libc_include_dir_len += 1; |
| 8930 | 8945 | } |
| 8946 | assert(g->libc_include_dir_len == dir_count); |
| 8931 | 8947 | } else if ((g->out_type == OutTypeExe || (g->out_type == OutTypeLib && g->is_dynamic)) && |
| 8932 | 8948 | !target_os_is_darwin(g->zig_target->os)) |
| 8933 | 8949 | { |