authorgravatar for ypsvlq@gmail.comElaine Gibson <ypsvlq@gmail.com> 2024-01-17 01:57:31+00:00
committergravatar for ypsvlq@gmail.comElaine Gibson <ypsvlq@gmail.com> 2024-01-20 00:24:39+00:00
log398ab5fcfb1de7cbf340ab14f4b8d835250dbb2a
tree345fda8120809269f72a8b7d8e85a04127b4cb28
parentb1269785557074ce249666ff922a47ae1d384769

mingw: update build logic


4 files changed, 288 insertions(+), 401 deletions(-)

lib/std/Target.zig+40-2
...@@ -2636,14 +2636,52 @@ pub fn is_libc_lib_name(target: std.Target, name: []const u8) bool {...@@ -2636,14 +2636,52 @@ pub fn is_libc_lib_name(target: std.Target, name: []const u8) bool {
2636 if (target.isMinGW()) {2636 if (target.isMinGW()) {
2637 if (eqlIgnoreCase(ignore_case, name, "m"))2637 if (eqlIgnoreCase(ignore_case, name, "m"))
2638 return true;2638 return true;
2639 if (eqlIgnoreCase(ignore_case, name, "uuid"))
2640 return true;
2641 if (eqlIgnoreCase(ignore_case, name, "mingw32"))2639 if (eqlIgnoreCase(ignore_case, name, "mingw32"))
2642 return true;2640 return true;
2643 if (eqlIgnoreCase(ignore_case, name, "msvcrt-os"))2641 if (eqlIgnoreCase(ignore_case, name, "msvcrt-os"))
2644 return true;2642 return true;
2645 if (eqlIgnoreCase(ignore_case, name, "mingwex"))2643 if (eqlIgnoreCase(ignore_case, name, "mingwex"))
2646 return true;2644 return true;
2645 if (eqlIgnoreCase(ignore_case, name, "uuid"))
2646 return true;
2647 if (eqlIgnoreCase(ignore_case, name, "bits"))
2648 return true;
2649 if (eqlIgnoreCase(ignore_case, name, "dmoguids"))
2650 return true;
2651 if (eqlIgnoreCase(ignore_case, name, "dxerr8"))
2652 return true;
2653 if (eqlIgnoreCase(ignore_case, name, "dxerr9"))
2654 return true;
2655 if (eqlIgnoreCase(ignore_case, name, "mfuuid"))
2656 return true;
2657 if (eqlIgnoreCase(ignore_case, name, "msxml2"))
2658 return true;
2659 if (eqlIgnoreCase(ignore_case, name, "msxml6"))
2660 return true;
2661 if (eqlIgnoreCase(ignore_case, name, "amstrmid"))
2662 return true;
2663 if (eqlIgnoreCase(ignore_case, name, "wbemuuid"))
2664 return true;
2665 if (eqlIgnoreCase(ignore_case, name, "wmcodecdspuuid"))
2666 return true;
2667 if (eqlIgnoreCase(ignore_case, name, "dxguid"))
2668 return true;
2669 if (eqlIgnoreCase(ignore_case, name, "ksguid"))
2670 return true;
2671 if (eqlIgnoreCase(ignore_case, name, "locationapi"))
2672 return true;
2673 if (eqlIgnoreCase(ignore_case, name, "portabledeviceguids"))
2674 return true;
2675 if (eqlIgnoreCase(ignore_case, name, "mfuuid"))
2676 return true;
2677 if (eqlIgnoreCase(ignore_case, name, "dloadhelper"))
2678 return true;
2679 if (eqlIgnoreCase(ignore_case, name, "strmiids"))
2680 return true;
2681 if (eqlIgnoreCase(ignore_case, name, "mfuuid"))
2682 return true;
2683 if (eqlIgnoreCase(ignore_case, name, "adsiid"))
2684 return true;
26472685
2648 return false;2686 return false;
2649 }2687 }
src/Compilation.zig+2-10
...@@ -758,10 +758,7 @@ pub const MiscTask = enum {...@@ -758,10 +758,7 @@ pub const MiscTask = enum {
758758
759 @"mingw-w64 crt2.o",759 @"mingw-w64 crt2.o",
760 @"mingw-w64 dllcrt2.o",760 @"mingw-w64 dllcrt2.o",
761 @"mingw-w64 mingw32.lib",
762 @"mingw-w64 msvcrt-os.lib",
763 @"mingw-w64 mingwex.lib",761 @"mingw-w64 mingwex.lib",
764 @"mingw-w64 uuid.lib",
765};762};
766763
767pub const MiscError = struct {764pub const MiscError = struct {
...@@ -1816,14 +1813,9 @@ pub fn create(gpa: Allocator, arena: Allocator, options: CreateOptions) !*Compil...@@ -1816,14 +1813,9 @@ pub fn create(gpa: Allocator, arena: Allocator, options: CreateOptions) !*Compil
1816 if (comp.wantBuildMinGWFromSource()) {1813 if (comp.wantBuildMinGWFromSource()) {
1817 if (!target_util.canBuildLibC(target)) return error.LibCUnavailable;1814 if (!target_util.canBuildLibC(target)) return error.LibCUnavailable;
18181815
1819 const static_lib_jobs = [_]Job{
1820 .{ .mingw_crt_file = .mingw32_lib },
1821 .{ .mingw_crt_file = .mingwex_lib },
1822 .{ .mingw_crt_file = .uuid_lib },
1823 };
1824 const crt_job: Job = .{ .mingw_crt_file = if (is_dyn_lib) .dllcrt2_o else .crt2_o };1816 const crt_job: Job = .{ .mingw_crt_file = if (is_dyn_lib) .dllcrt2_o else .crt2_o };
1825 try comp.work_queue.ensureUnusedCapacity(static_lib_jobs.len + 1);1817 try comp.work_queue.ensureUnusedCapacity(2);
1826 comp.work_queue.writeAssumeCapacity(&static_lib_jobs);1818 comp.work_queue.writeItemAssumeCapacity(.{ .mingw_crt_file = .mingwex_lib });
1827 comp.work_queue.writeItemAssumeCapacity(crt_job);1819 comp.work_queue.writeItemAssumeCapacity(crt_job);
18281820
1829 // When linking mingw-w64 there are some import libs we always need.1821 // When linking mingw-w64 there are some import libs we always need.
src/link/Coff/lld.zig-9
...@@ -408,16 +408,7 @@ pub fn linkWithLLD(self: *Coff, arena: Allocator, prog_node: *std.Progress.Node)...@@ -408,16 +408,7 @@ pub fn linkWithLLD(self: *Coff, arena: Allocator, prog_node: *std.Progress.Node)
408 try argv.append(try comp.get_libc_crt_file(arena, "crt2.obj"));408 try argv.append(try comp.get_libc_crt_file(arena, "crt2.obj"));
409 }409 }
410410
411 try argv.append(try comp.get_libc_crt_file(arena, "mingw32.lib"));
412 try argv.append(try comp.get_libc_crt_file(arena, "mingwex.lib"));411 try argv.append(try comp.get_libc_crt_file(arena, "mingwex.lib"));
413 try argv.append(try comp.get_libc_crt_file(arena, "uuid.lib"));
414
415 for (mingw.always_link_libs) |name| {
416 if (!comp.system_libs.contains(name)) {
417 const lib_basename = try allocPrint(arena, "{s}.lib", .{name});
418 try argv.append(try comp.get_libc_crt_file(arena, lib_basename));
419 }
420 }
421 } else {412 } else {
422 const lib_str = switch (comp.config.link_mode) {413 const lib_str = switch (comp.config.link_mode) {
423 .Dynamic => "",414 .Dynamic => "",
src/mingw.zig+246-380
...@@ -13,9 +13,7 @@ const Cache = std.Build.Cache;...@@ -13,9 +13,7 @@ const Cache = std.Build.Cache;
13pub const CRTFile = enum {13pub const CRTFile = enum {
14 crt2_o,14 crt2_o,
15 dllcrt2_o,15 dllcrt2_o,
16 mingw32_lib,
17 mingwex_lib,16 mingwex_lib,
18 uuid_lib,
19};17};
2018
21pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progress.Node) !void {19pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progress.Node) !void {
...@@ -31,8 +29,6 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr...@@ -31,8 +29,6 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr
31 var args = std.ArrayList([]const u8).init(arena);29 var args = std.ArrayList([]const u8).init(arena);
32 try add_cc_args(comp, arena, &args);30 try add_cc_args(comp, arena, &args);
33 try args.appendSlice(&[_][]const u8{31 try args.appendSlice(&[_][]const u8{
34 "-D_SYSCRT=1",
35 "-DCRTDLL=1",
36 // Prevents warning: 'used' attribute ignored on a non-definition declaration32 // Prevents warning: 'used' attribute ignored on a non-definition declaration
37 // pointing at extern _CRTALLOC33 // pointing at extern _CRTALLOC
38 "-Wno-ignored-attributes",34 "-Wno-ignored-attributes",
...@@ -55,10 +51,6 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr...@@ -55,10 +51,6 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr
55 .dllcrt2_o => {51 .dllcrt2_o => {
56 var args = std.ArrayList([]const u8).init(arena);52 var args = std.ArrayList([]const u8).init(arena);
57 try add_cc_args(comp, arena, &args);53 try add_cc_args(comp, arena, &args);
58 try args.appendSlice(&[_][]const u8{
59 "-D_SYSCRT=1",
60 "-DCRTDLL=1",
61 });
62 var files = [_]Compilation.CSourceFile{54 var files = [_]Compilation.CSourceFile{
63 .{55 .{
64 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{56 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
...@@ -71,144 +63,67 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr...@@ -71,144 +63,67 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile, prog_node: *std.Progr
71 return comp.build_crt_file("dllcrt2", .Obj, .@"mingw-w64 dllcrt2.o", prog_node, &files);63 return comp.build_crt_file("dllcrt2", .Obj, .@"mingw-w64 dllcrt2.o", prog_node, &files);
72 },64 },
7365
74 .mingw32_lib => {
75 var c_source_files: [mingw32_lib_deps.len]Compilation.CSourceFile = undefined;
76 for (mingw32_lib_deps, 0..) |dep, i| {
77 var args = std.ArrayList([]const u8).init(arena);
78 try args.appendSlice(&[_][]const u8{
79 "-DHAVE_CONFIG_H",
80 "-D_SYSCRT=1",
81 "-DCRTDLL=1",
82
83 "-isystem",
84 try comp.zig_lib_directory.join(arena, &[_][]const u8{
85 "libc", "include", "any-windows-any",
86 }),
87
88 "-isystem",
89 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw", "include" }),
90
91 "-std=gnu99",
92 "-D_CRTBLD",
93 // According to Martin Storsjö,
94 // > the files under mingw-w64-crt are designed to always
95 // be built with __MSVCRT_VERSION__=0x700
96 "-D__MSVCRT_VERSION__=0x700",
97 "-D__USE_MINGW_ANSI_STDIO=0",
98 });
99 c_source_files[i] = .{
100 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
101 "libc", "mingw", "crt", dep,
102 }),
103 .extra_flags = args.items,
104 .owner = undefined,
105 };
106 }
107 return comp.build_crt_file("mingw32", .Lib, .@"mingw-w64 mingw32.lib", prog_node, &c_source_files);
108 },
109
110 .mingwex_lib => {66 .mingwex_lib => {
111 const extra_flags = try arena.dupe([]const u8, &[_][]const u8{67 var args = std.ArrayList([]const u8).init(arena);
112 "-DHAVE_CONFIG_H",68 try add_cc_args(comp, arena, &args);
113
114 "-I",
115 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw" }),
116
117 "-I",
118 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw", "include" }),
119
120 "-std=gnu99",
121 "-D_CRTBLD",
122 // According to Martin Storsjö,
123 // > the files under mingw-w64-crt are designed to always
124 // be built with __MSVCRT_VERSION__=0x700
125 "-D__MSVCRT_VERSION__=0x700",
126 "-D__USE_MINGW_ANSI_STDIO=0",
127 "-isystem",
128 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "include", "any-windows-any" }),
129 });
130 var c_source_files = std.ArrayList(Compilation.CSourceFile).init(arena);69 var c_source_files = std.ArrayList(Compilation.CSourceFile).init(arena);
13170
132 for (mingwex_generic_src) |dep| {71 for (mingwex_generic_src) |dep| {
133 (try c_source_files.addOne()).* = .{72 try c_source_files.append(.{
134 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{73 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
135 "libc", "mingw", dep,74 "libc", "mingw", dep,
136 }),75 }),
137 .extra_flags = extra_flags,76 .extra_flags = args.items,
138 .owner = undefined,77 .owner = undefined,
139 };78 });
140 }79 }
141 const target = comp.getTarget();80 const target = comp.getTarget();
142 if (target.cpu.arch == .x86 or target.cpu.arch == .x86_64) {81 if (target.cpu.arch == .x86 or target.cpu.arch == .x86_64) {
143 for (mingwex_x86_src) |dep| {82 for (mingwex_x86_src) |dep| {
144 (try c_source_files.addOne()).* = .{83 try c_source_files.append(.{
145 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{84 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
146 "libc", "mingw", dep,85 "libc", "mingw", dep,
147 }),86 }),
148 .extra_flags = extra_flags,87 .extra_flags = args.items,
149 .owner = undefined,88 .owner = undefined,
150 };89 });
90 }
91 if (target.cpu.arch == .x86) {
92 for (mingwex_x86_32_src) |dep| {
93 try c_source_files.append(.{
94 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
95 "libc", "mingw", dep,
96 }),
97 .extra_flags = args.items,
98 .owner = undefined,
99 });
100 }
151 }101 }
152 } else if (target.cpu.arch.isARM()) {102 } else if (target.cpu.arch.isARM()) {
153 for (mingwex_arm32_src) |dep| {103 for (mingwex_arm32_src) |dep| {
154 (try c_source_files.addOne()).* = .{104 try c_source_files.append(.{
155 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{105 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
156 "libc", "mingw", dep,106 "libc", "mingw", dep,
157 }),107 }),
158 .extra_flags = extra_flags,108 .extra_flags = args.items,
159 .owner = undefined,109 .owner = undefined,
160 };110 });
161 }111 }
162 } else if (target.cpu.arch.isAARCH64()) {112 } else if (target.cpu.arch.isAARCH64()) {
163 for (mingwex_arm64_src) |dep| {113 for (mingwex_arm64_src) |dep| {
164 (try c_source_files.addOne()).* = .{114 try c_source_files.append(.{
165 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{115 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
166 "libc", "mingw", dep,116 "libc", "mingw", dep,
167 }),117 }),
168 .extra_flags = extra_flags,118 .extra_flags = args.items,
169 .owner = undefined,119 .owner = undefined,
170 };120 });
171 }121 }
172 } else {122 } else {
173 @panic("unsupported arch");123 @panic("unsupported arch");
174 }124 }
175 return comp.build_crt_file("mingwex", .Lib, .@"mingw-w64 mingwex.lib", prog_node, c_source_files.items);125 return comp.build_crt_file("mingwex", .Lib, .@"mingw-w64 mingwex.lib", prog_node, c_source_files.items);
176 },126 },
177
178 .uuid_lib => {
179 const extra_flags = try arena.dupe([]const u8, &[_][]const u8{
180 "-DHAVE_CONFIG_H",
181
182 "-I",
183 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw" }),
184
185 "-I",
186 try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "mingw", "include" }),
187
188 "-std=gnu99",
189 "-D_CRTBLD",
190 // According to Martin Storsjö,
191 // > the files under mingw-w64-crt are designed to always
192 // be built with __MSVCRT_VERSION__=0x700
193 "-D__MSVCRT_VERSION__=0x700",
194 "-D__USE_MINGW_ANSI_STDIO=0",
195 "-isystem",
196 try comp.zig_lib_directory.join(arena, &[_][]const u8{
197 "libc", "include", "any-windows-any",
198 }),
199 });
200 var c_source_files: [uuid_src.len]Compilation.CSourceFile = undefined;
201 for (uuid_src, 0..) |dep, i| {
202 c_source_files[i] = .{
203 .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{
204 "libc", "mingw", "libsrc", dep,
205 }),
206 .extra_flags = extra_flags,
207 .owner = undefined,
208 };
209 }
210 return comp.build_crt_file("uuid", .Lib, .@"mingw-w64 uuid.lib", prog_node, &c_source_files);
211 },
212 }127 }
213}128}
214129
...@@ -235,6 +150,8 @@ fn add_cc_args(...@@ -235,6 +150,8 @@ fn add_cc_args(
235 try args.appendSlice(&[_][]const u8{150 try args.appendSlice(&[_][]const u8{
236 "-std=gnu11",151 "-std=gnu11",
237 "-D_CRTBLD",152 "-D_CRTBLD",
153 "-D_SYSCRT=1",
154 "-DCRTDLL=1",
238 // According to Martin Storsjö,155 // According to Martin Storsjö,
239 // > the files under mingw-w64-crt are designed to always156 // > the files under mingw-w64-crt are designed to always
240 // be built with __MSVCRT_VERSION__=0x700157 // be built with __MSVCRT_VERSION__=0x700
...@@ -469,38 +386,38 @@ fn findDef(...@@ -469,38 +386,38 @@ fn findDef(
469 return error.FileNotFound;386 return error.FileNotFound;
470}387}
471388
472const mingw32_lib_deps = [_][]const u8{
473 "dll_argv.c",
474 "gccmain.c",
475 "natstart.c",
476 "pseudo-reloc-list.c",
477 "wildcard.c",
478 "charmax.c",
479 "dllargv.c",
480 "_newmode.c",
481 "tlssup.c",
482 "xncommod.c",
483 "cinitexe.c",
484 "merr.c",
485 "usermatherr.c",
486 "pesect.c",
487 "udllargc.c",
488 "xthdloc.c",
489 "CRT_fp10.c",
490 "mingw_helpers.c",
491 "pseudo-reloc.c",
492 "udll_argv.c",
493 "xtxtmode.c",
494 "crt_handler.c",
495 "tlsthrd.c",
496 "tlsmthread.c",
497 "tlsmcrt.c",
498 "cxa_atexit.c",
499 "cxa_thread_atexit.c",
500 "tls_atexit.c",
501};
502
503const mingwex_generic_src = [_][]const u8{389const mingwex_generic_src = [_][]const u8{
390 // mingw32
391 "crt" ++ path.sep_str ++ "dll_argv.c",
392 "crt" ++ path.sep_str ++ "gccmain.c",
393 "crt" ++ path.sep_str ++ "natstart.c",
394 "crt" ++ path.sep_str ++ "pseudo-reloc-list.c",
395 "crt" ++ path.sep_str ++ "wildcard.c",
396 "crt" ++ path.sep_str ++ "charmax.c",
397 "crt" ++ path.sep_str ++ "dllargv.c",
398 "crt" ++ path.sep_str ++ "_newmode.c",
399 "crt" ++ path.sep_str ++ "tlssup.c",
400 "crt" ++ path.sep_str ++ "xncommod.c",
401 "crt" ++ path.sep_str ++ "cinitexe.c",
402 "crt" ++ path.sep_str ++ "merr.c",
403 "crt" ++ path.sep_str ++ "usermatherr.c",
404 "crt" ++ path.sep_str ++ "pesect.c",
405 "crt" ++ path.sep_str ++ "udllargc.c",
406 "crt" ++ path.sep_str ++ "xthdloc.c",
407 "crt" ++ path.sep_str ++ "CRT_fp10.c",
408 "crt" ++ path.sep_str ++ "mingw_helpers.c",
409 "crt" ++ path.sep_str ++ "pseudo-reloc.c",
410 "crt" ++ path.sep_str ++ "udll_argv.c",
411 "crt" ++ path.sep_str ++ "xtxtmode.c",
412 "crt" ++ path.sep_str ++ "crt_handler.c",
413 "crt" ++ path.sep_str ++ "tlsthrd.c",
414 "crt" ++ path.sep_str ++ "tlsmthread.c",
415 "crt" ++ path.sep_str ++ "tlsmcrt.c",
416 "crt" ++ path.sep_str ++ "cxa_atexit.c",
417 "crt" ++ path.sep_str ++ "cxa_thread_atexit.c",
418 "crt" ++ path.sep_str ++ "tls_atexit.c",
419 // mingwex
420 "cfguard" ++ path.sep_str ++ "mingw_cfguard_support.c",
504 "complex" ++ path.sep_str ++ "_cabs.c",421 "complex" ++ path.sep_str ++ "_cabs.c",
505 "complex" ++ path.sep_str ++ "cabs.c",422 "complex" ++ path.sep_str ++ "cabs.c",
506 "complex" ++ path.sep_str ++ "cabsf.c",423 "complex" ++ path.sep_str ++ "cabsf.c",
...@@ -555,7 +472,6 @@ const mingwex_generic_src = [_][]const u8{...@@ -555,7 +472,6 @@ const mingwex_generic_src = [_][]const u8{
555 "complex" ++ path.sep_str ++ "ctanl.c",472 "complex" ++ path.sep_str ++ "ctanl.c",
556 "crt" ++ path.sep_str ++ "dllentry.c",473 "crt" ++ path.sep_str ++ "dllentry.c",
557 "crt" ++ path.sep_str ++ "dllmain.c",474 "crt" ++ path.sep_str ++ "dllmain.c",
558 "crt" ++ path.sep_str ++ "ucrtbase_compat.c",
559 "gdtoa" ++ path.sep_str ++ "arithchk.c",475 "gdtoa" ++ path.sep_str ++ "arithchk.c",
560 "gdtoa" ++ path.sep_str ++ "dmisc.c",476 "gdtoa" ++ path.sep_str ++ "dmisc.c",
561 "gdtoa" ++ path.sep_str ++ "dtoa.c",477 "gdtoa" ++ path.sep_str ++ "dtoa.c",
...@@ -577,40 +493,16 @@ const mingwex_generic_src = [_][]const u8{...@@ -577,40 +493,16 @@ const mingwex_generic_src = [_][]const u8{
577 "gdtoa" ++ path.sep_str ++ "strtopx.c",493 "gdtoa" ++ path.sep_str ++ "strtopx.c",
578 "gdtoa" ++ path.sep_str ++ "sum.c",494 "gdtoa" ++ path.sep_str ++ "sum.c",
579 "gdtoa" ++ path.sep_str ++ "ulp.c",495 "gdtoa" ++ path.sep_str ++ "ulp.c",
580 "math" ++ path.sep_str ++ "cbrt.c",
581 "math" ++ path.sep_str ++ "cbrtf.c",
582 "math" ++ path.sep_str ++ "cbrtl.c",
583 "math" ++ path.sep_str ++ "copysign.c",
584 "math" ++ path.sep_str ++ "copysignf.c",
585 "math" ++ path.sep_str ++ "coshf.c",
586 "math" ++ path.sep_str ++ "coshl.c",496 "math" ++ path.sep_str ++ "coshl.c",
587 "math" ++ path.sep_str ++ "erfl.c",
588 "math" ++ path.sep_str ++ "expf.c",
589 "math" ++ path.sep_str ++ "fabs.c",
590 "math" ++ path.sep_str ++ "fabsf.c",
591 "math" ++ path.sep_str ++ "fabsl.c",497 "math" ++ path.sep_str ++ "fabsl.c",
592 "math" ++ path.sep_str ++ "fdim.c",
593 "math" ++ path.sep_str ++ "fdimf.c",
594 "math" ++ path.sep_str ++ "fdiml.c",
595 "math" ++ path.sep_str ++ "fma.c",
596 "math" ++ path.sep_str ++ "fmaf.c",
597 "math" ++ path.sep_str ++ "fmal.c",
598 "math" ++ path.sep_str ++ "fmax.c",
599 "math" ++ path.sep_str ++ "fmaxf.c",
600 "math" ++ path.sep_str ++ "fmaxl.c",
601 "math" ++ path.sep_str ++ "fmin.c",
602 "math" ++ path.sep_str ++ "fminf.c",
603 "math" ++ path.sep_str ++ "fminl.c",
604 "math" ++ path.sep_str ++ "fp_consts.c",498 "math" ++ path.sep_str ++ "fp_consts.c",
605 "math" ++ path.sep_str ++ "fp_constsf.c",499 "math" ++ path.sep_str ++ "fp_constsf.c",
606 "math" ++ path.sep_str ++ "fp_constsl.c",500 "math" ++ path.sep_str ++ "fp_constsl.c",
607 "math" ++ path.sep_str ++ "fpclassify.c",501 "math" ++ path.sep_str ++ "fpclassify.c",
608 "math" ++ path.sep_str ++ "fpclassifyf.c",502 "math" ++ path.sep_str ++ "fpclassifyf.c",
609 "math" ++ path.sep_str ++ "fpclassifyl.c",503 "math" ++ path.sep_str ++ "fpclassifyl.c",
610 "math" ++ path.sep_str ++ "frexp.c",
611 "math" ++ path.sep_str ++ "frexpf.c",504 "math" ++ path.sep_str ++ "frexpf.c",
612 "math" ++ path.sep_str ++ "frexpl.c",505 "math" ++ path.sep_str ++ "frexpl.c",
613 "math" ++ path.sep_str ++ "hypot.c",
614 "math" ++ path.sep_str ++ "hypotf.c",506 "math" ++ path.sep_str ++ "hypotf.c",
615 "math" ++ path.sep_str ++ "hypotl.c",507 "math" ++ path.sep_str ++ "hypotl.c",
616 "math" ++ path.sep_str ++ "isnan.c",508 "math" ++ path.sep_str ++ "isnan.c",
...@@ -620,51 +512,19 @@ const mingwex_generic_src = [_][]const u8{...@@ -620,51 +512,19 @@ const mingwex_generic_src = [_][]const u8{
620 "math" ++ path.sep_str ++ "lgamma.c",512 "math" ++ path.sep_str ++ "lgamma.c",
621 "math" ++ path.sep_str ++ "lgammaf.c",513 "math" ++ path.sep_str ++ "lgammaf.c",
622 "math" ++ path.sep_str ++ "lgammal.c",514 "math" ++ path.sep_str ++ "lgammal.c",
623 "math" ++ path.sep_str ++ "llrint.c",
624 "math" ++ path.sep_str ++ "llrintf.c",
625 "math" ++ path.sep_str ++ "llrintl.c",
626 "math" ++ path.sep_str ++ "llround.c",
627 "math" ++ path.sep_str ++ "llroundf.c",
628 "math" ++ path.sep_str ++ "llroundl.c",
629 "math" ++ path.sep_str ++ "log10f.c",
630 "math" ++ path.sep_str ++ "logf.c",
631 "math" ++ path.sep_str ++ "lrint.c",
632 "math" ++ path.sep_str ++ "lrintf.c",
633 "math" ++ path.sep_str ++ "lrintl.c",
634 "math" ++ path.sep_str ++ "lround.c",
635 "math" ++ path.sep_str ++ "lroundf.c",
636 "math" ++ path.sep_str ++ "lroundl.c",
637 "math" ++ path.sep_str ++ "modf.c",
638 "math" ++ path.sep_str ++ "modff.c",
639 "math" ++ path.sep_str ++ "modfl.c",515 "math" ++ path.sep_str ++ "modfl.c",
640 "math" ++ path.sep_str ++ "nextafterf.c",
641 "math" ++ path.sep_str ++ "nextafterl.c",516 "math" ++ path.sep_str ++ "nextafterl.c",
642 "math" ++ path.sep_str ++ "nexttoward.c",517 "math" ++ path.sep_str ++ "nexttoward.c",
643 "math" ++ path.sep_str ++ "nexttowardf.c",
644 "math" ++ path.sep_str ++ "powf.c",
645 "math" ++ path.sep_str ++ "powi.c",518 "math" ++ path.sep_str ++ "powi.c",
646 "math" ++ path.sep_str ++ "powif.c",519 "math" ++ path.sep_str ++ "powif.c",
647 "math" ++ path.sep_str ++ "powil.c",520 "math" ++ path.sep_str ++ "powil.c",
648 "math" ++ path.sep_str ++ "round.c",
649 "math" ++ path.sep_str ++ "roundf.c",
650 "math" ++ path.sep_str ++ "roundl.c",
651 "math" ++ path.sep_str ++ "s_erf.c",
652 "math" ++ path.sep_str ++ "sf_erf.c",
653 "math" ++ path.sep_str ++ "signbit.c",521 "math" ++ path.sep_str ++ "signbit.c",
654 "math" ++ path.sep_str ++ "signbitf.c",522 "math" ++ path.sep_str ++ "signbitf.c",
655 "math" ++ path.sep_str ++ "signbitl.c",523 "math" ++ path.sep_str ++ "signbitl.c",
656 "math" ++ path.sep_str ++ "signgam.c",524 "math" ++ path.sep_str ++ "signgam.c",
657 "math" ++ path.sep_str ++ "sinhf.c",
658 "math" ++ path.sep_str ++ "sinhl.c",525 "math" ++ path.sep_str ++ "sinhl.c",
659 "math" ++ path.sep_str ++ "sqrt.c",
660 "math" ++ path.sep_str ++ "sqrtf.c",
661 "math" ++ path.sep_str ++ "sqrtl.c",526 "math" ++ path.sep_str ++ "sqrtl.c",
662 "math" ++ path.sep_str ++ "tanhf.c",
663 "math" ++ path.sep_str ++ "tanhl.c",527 "math" ++ path.sep_str ++ "tanhl.c",
664 "math" ++ path.sep_str ++ "tgamma.c",
665 "math" ++ path.sep_str ++ "tgammaf.c",
666 "math" ++ path.sep_str ++ "tgammal.c",
667 "math" ++ path.sep_str ++ "truncl.c",
668 "misc" ++ path.sep_str ++ "alarm.c",528 "misc" ++ path.sep_str ++ "alarm.c",
669 "misc" ++ path.sep_str ++ "btowc.c",529 "misc" ++ path.sep_str ++ "btowc.c",
670 "misc" ++ path.sep_str ++ "delay-f.c",530 "misc" ++ path.sep_str ++ "delay-f.c",
...@@ -690,16 +550,13 @@ const mingwex_generic_src = [_][]const u8{...@@ -690,16 +550,13 @@ const mingwex_generic_src = [_][]const u8{
690 "misc" ++ path.sep_str ++ "getlogin.c",550 "misc" ++ path.sep_str ++ "getlogin.c",
691 "misc" ++ path.sep_str ++ "getopt.c",551 "misc" ++ path.sep_str ++ "getopt.c",
692 "misc" ++ path.sep_str ++ "gettimeofday.c",552 "misc" ++ path.sep_str ++ "gettimeofday.c",
693 "misc" ++ path.sep_str ++ "imaxabs.c",
694 "misc" ++ path.sep_str ++ "imaxdiv.c",
695 "misc" ++ path.sep_str ++ "isblank.c",553 "misc" ++ path.sep_str ++ "isblank.c",
696 "misc" ++ path.sep_str ++ "iswblank.c",554 "misc" ++ path.sep_str ++ "iswblank.c",
697 "misc" ++ path.sep_str ++ "mbrtowc.c",
698 "misc" ++ path.sep_str ++ "mbsinit.c",
699 "misc" ++ path.sep_str ++ "mempcpy.c",555 "misc" ++ path.sep_str ++ "mempcpy.c",
700 "misc" ++ path.sep_str ++ "mingw-access.c",556 "misc" ++ path.sep_str ++ "mingw-access.c",
701 "misc" ++ path.sep_str ++ "mingw-aligned-malloc.c",557 "misc" ++ path.sep_str ++ "mingw-aligned-malloc.c",
702 "misc" ++ path.sep_str ++ "mingw_getsp.S",558 "misc" ++ path.sep_str ++ "mingw_getsp.S",
559 "misc" ++ path.sep_str ++ "mingw_longjmp.S",
703 "misc" ++ path.sep_str ++ "mingw_matherr.c",560 "misc" ++ path.sep_str ++ "mingw_matherr.c",
704 "misc" ++ path.sep_str ++ "mingw_mbwc_convert.c",561 "misc" ++ path.sep_str ++ "mingw_mbwc_convert.c",
705 "misc" ++ path.sep_str ++ "mingw_usleep.c",562 "misc" ++ path.sep_str ++ "mingw_usleep.c",
...@@ -707,18 +564,14 @@ const mingwex_generic_src = [_][]const u8{...@@ -707,18 +564,14 @@ const mingwex_generic_src = [_][]const u8{
707 "misc" ++ path.sep_str ++ "mingw_wcstof.c",564 "misc" ++ path.sep_str ++ "mingw_wcstof.c",
708 "misc" ++ path.sep_str ++ "mingw_wcstold.c",565 "misc" ++ path.sep_str ++ "mingw_wcstold.c",
709 "misc" ++ path.sep_str ++ "mkstemp.c",566 "misc" ++ path.sep_str ++ "mkstemp.c",
710 "misc" ++ path.sep_str ++ "seterrno.c",
711 "misc" ++ path.sep_str ++ "sleep.c",567 "misc" ++ path.sep_str ++ "sleep.c",
712 "misc" ++ path.sep_str ++ "strnlen.c",568 "misc" ++ path.sep_str ++ "strnlen.c",
713 "misc" ++ path.sep_str ++ "strsafe.c",569 "misc" ++ path.sep_str ++ "strsafe.c",
714 "misc" ++ path.sep_str ++ "strtoimax.c",
715 "misc" ++ path.sep_str ++ "strtoumax.c",
716 "misc" ++ path.sep_str ++ "tdelete.c",570 "misc" ++ path.sep_str ++ "tdelete.c",
571 "misc" ++ path.sep_str ++ "tdestroy.c",
717 "misc" ++ path.sep_str ++ "tfind.c",572 "misc" ++ path.sep_str ++ "tfind.c",
718 "misc" ++ path.sep_str ++ "tsearch.c",573 "misc" ++ path.sep_str ++ "tsearch.c",
719 "misc" ++ path.sep_str ++ "twalk.c",574 "misc" ++ path.sep_str ++ "twalk.c",
720 "misc" ++ path.sep_str ++ "ucrt-access.c",
721 "misc" ++ path.sep_str ++ "wcrtomb.c",
722 "misc" ++ path.sep_str ++ "wcsnlen.c",575 "misc" ++ path.sep_str ++ "wcsnlen.c",
723 "misc" ++ path.sep_str ++ "wcstof.c",576 "misc" ++ path.sep_str ++ "wcstof.c",
724 "misc" ++ path.sep_str ++ "wcstoimax.c",577 "misc" ++ path.sep_str ++ "wcstoimax.c",
...@@ -737,17 +590,12 @@ const mingwex_generic_src = [_][]const u8{...@@ -737,17 +590,12 @@ const mingwex_generic_src = [_][]const u8{
737 "misc" ++ path.sep_str ++ "wmemmove.c",590 "misc" ++ path.sep_str ++ "wmemmove.c",
738 "misc" ++ path.sep_str ++ "wmempcpy.c",591 "misc" ++ path.sep_str ++ "wmempcpy.c",
739 "misc" ++ path.sep_str ++ "wmemset.c",592 "misc" ++ path.sep_str ++ "wmemset.c",
740 "misc" ++ path.sep_str ++ "__initenv.c",
741 "stdio" ++ path.sep_str ++ "_Exit.c",593 "stdio" ++ path.sep_str ++ "_Exit.c",
742 "stdio" ++ path.sep_str ++ "_findfirst64i32.c",594 "stdio" ++ path.sep_str ++ "_findfirst64i32.c",
743 "stdio" ++ path.sep_str ++ "_findnext64i32.c",595 "stdio" ++ path.sep_str ++ "_findnext64i32.c",
744 "stdio" ++ path.sep_str ++ "_fstat.c",596 "stdio" ++ path.sep_str ++ "_fstat.c",
745 "stdio" ++ path.sep_str ++ "_fstat64i32.c",597 "stdio" ++ path.sep_str ++ "_fstat64i32.c",
746 "stdio" ++ path.sep_str ++ "_ftime.c",598 "stdio" ++ path.sep_str ++ "_ftime.c",
747 "stdio" ++ path.sep_str ++ "_getc_nolock.c",
748 "stdio" ++ path.sep_str ++ "_getwc_nolock.c",
749 "stdio" ++ path.sep_str ++ "_putc_nolock.c",
750 "stdio" ++ path.sep_str ++ "_putwc_nolock.c",
751 "stdio" ++ path.sep_str ++ "_stat.c",599 "stdio" ++ path.sep_str ++ "_stat.c",
752 "stdio" ++ path.sep_str ++ "_stat64i32.c",600 "stdio" ++ path.sep_str ++ "_stat64i32.c",
753 "stdio" ++ path.sep_str ++ "_wfindfirst64i32.c",601 "stdio" ++ path.sep_str ++ "_wfindfirst64i32.c",
...@@ -755,10 +603,8 @@ const mingwex_generic_src = [_][]const u8{...@@ -755,10 +603,8 @@ const mingwex_generic_src = [_][]const u8{
755 "stdio" ++ path.sep_str ++ "_wstat.c",603 "stdio" ++ path.sep_str ++ "_wstat.c",
756 "stdio" ++ path.sep_str ++ "_wstat64i32.c",604 "stdio" ++ path.sep_str ++ "_wstat64i32.c",
757 "stdio" ++ path.sep_str ++ "asprintf.c",605 "stdio" ++ path.sep_str ++ "asprintf.c",
758 "stdio" ++ path.sep_str ++ "atoll.c",
759 "stdio" ++ path.sep_str ++ "fgetpos64.c",606 "stdio" ++ path.sep_str ++ "fgetpos64.c",
760 "stdio" ++ path.sep_str ++ "fopen64.c",607 "stdio" ++ path.sep_str ++ "fopen64.c",
761 "stdio" ++ path.sep_str ++ "fseeki64.c",
762 "stdio" ++ path.sep_str ++ "fseeko32.c",608 "stdio" ++ path.sep_str ++ "fseeko32.c",
763 "stdio" ++ path.sep_str ++ "fseeko64.c",609 "stdio" ++ path.sep_str ++ "fseeko64.c",
764 "stdio" ++ path.sep_str ++ "fsetpos64.c",610 "stdio" ++ path.sep_str ++ "fsetpos64.c",
...@@ -769,12 +615,10 @@ const mingwex_generic_src = [_][]const u8{...@@ -769,12 +615,10 @@ const mingwex_generic_src = [_][]const u8{
769 "stdio" ++ path.sep_str ++ "lltow.c",615 "stdio" ++ path.sep_str ++ "lltow.c",
770 "stdio" ++ path.sep_str ++ "lseek64.c",616 "stdio" ++ path.sep_str ++ "lseek64.c",
771 "stdio" ++ path.sep_str ++ "mingw_asprintf.c",617 "stdio" ++ path.sep_str ++ "mingw_asprintf.c",
772 "stdio" ++ path.sep_str ++ "mingw_dummy__lock.c",
773 "stdio" ++ path.sep_str ++ "mingw_fprintf.c",618 "stdio" ++ path.sep_str ++ "mingw_fprintf.c",
774 "stdio" ++ path.sep_str ++ "mingw_fprintfw.c",619 "stdio" ++ path.sep_str ++ "mingw_fprintfw.c",
775 "stdio" ++ path.sep_str ++ "mingw_fscanf.c",620 "stdio" ++ path.sep_str ++ "mingw_fscanf.c",
776 "stdio" ++ path.sep_str ++ "mingw_fwscanf.c",621 "stdio" ++ path.sep_str ++ "mingw_fwscanf.c",
777 "stdio" ++ path.sep_str ++ "mingw_lock.c",
778 "stdio" ++ path.sep_str ++ "mingw_pformat.c",622 "stdio" ++ path.sep_str ++ "mingw_pformat.c",
779 "stdio" ++ path.sep_str ++ "mingw_pformatw.c",623 "stdio" ++ path.sep_str ++ "mingw_pformatw.c",
780 "stdio" ++ path.sep_str ++ "mingw_printf.c",624 "stdio" ++ path.sep_str ++ "mingw_printf.c",
...@@ -798,12 +642,36 @@ const mingwex_generic_src = [_][]const u8{...@@ -798,12 +642,36 @@ const mingwex_generic_src = [_][]const u8{
798 "stdio" ++ path.sep_str ++ "mingw_vsprintfw.c",642 "stdio" ++ path.sep_str ++ "mingw_vsprintfw.c",
799 "stdio" ++ path.sep_str ++ "mingw_wscanf.c",643 "stdio" ++ path.sep_str ++ "mingw_wscanf.c",
800 "stdio" ++ path.sep_str ++ "mingw_wvfscanf.c",644 "stdio" ++ path.sep_str ++ "mingw_wvfscanf.c",
645 "stdio" ++ path.sep_str ++ "scanf2-argcount-char.c",
646 "stdio" ++ path.sep_str ++ "scanf2-argcount-wchar.c",
801 "stdio" ++ path.sep_str ++ "scanf.S",647 "stdio" ++ path.sep_str ++ "scanf.S",
802 "stdio" ++ path.sep_str ++ "snprintf.c",648 "stdio" ++ path.sep_str ++ "snprintf.c",
803 "stdio" ++ path.sep_str ++ "snwprintf.c",649 "stdio" ++ path.sep_str ++ "snwprintf.c",
804 "stdio" ++ path.sep_str ++ "strtof.c",
805 "stdio" ++ path.sep_str ++ "strtok_r.c",650 "stdio" ++ path.sep_str ++ "strtok_r.c",
806 "stdio" ++ path.sep_str ++ "truncate.c",651 "stdio" ++ path.sep_str ++ "truncate.c",
652 "stdio" ++ path.sep_str ++ "ulltoa.c",
653 "stdio" ++ path.sep_str ++ "ulltow.c",
654 "stdio" ++ path.sep_str ++ "vasprintf.c",
655 "stdio" ++ path.sep_str ++ "vfscanf.c",
656 "stdio" ++ path.sep_str ++ "vfscanf2.S",
657 "stdio" ++ path.sep_str ++ "vfwscanf.c",
658 "stdio" ++ path.sep_str ++ "vfwscanf2.S",
659 "stdio" ++ path.sep_str ++ "vscanf.c",
660 "stdio" ++ path.sep_str ++ "vscanf2.S",
661 "stdio" ++ path.sep_str ++ "vsnprintf.c",
662 "stdio" ++ path.sep_str ++ "vsnwprintf.c",
663 "stdio" ++ path.sep_str ++ "vsscanf.c",
664 "stdio" ++ path.sep_str ++ "vsscanf2.S",
665 "stdio" ++ path.sep_str ++ "vswscanf.c",
666 "stdio" ++ path.sep_str ++ "vswscanf2.S",
667 "stdio" ++ path.sep_str ++ "vwscanf.c",
668 "stdio" ++ path.sep_str ++ "vwscanf2.S",
669 "stdio" ++ path.sep_str ++ "wtoll.c",
670 // ucrtbase
671 "crt" ++ path.sep_str ++ "ucrtbase_compat.c",
672 "math" ++ path.sep_str ++ "_huge.c",
673 "misc" ++ path.sep_str ++ "__initenv.c",
674 "misc" ++ path.sep_str ++ "ucrt-access.c",
807 "stdio" ++ path.sep_str ++ "ucrt__snwprintf.c",675 "stdio" ++ path.sep_str ++ "ucrt__snwprintf.c",
808 "stdio" ++ path.sep_str ++ "ucrt__vscprintf.c",676 "stdio" ++ path.sep_str ++ "ucrt__vscprintf.c",
809 "stdio" ++ path.sep_str ++ "ucrt__vsnprintf.c",677 "stdio" ++ path.sep_str ++ "ucrt__vsnprintf.c",
...@@ -823,226 +691,224 @@ const mingwex_generic_src = [_][]const u8{...@@ -823,226 +691,224 @@ const mingwex_generic_src = [_][]const u8{
823 "stdio" ++ path.sep_str ++ "ucrt_vsnprintf.c",691 "stdio" ++ path.sep_str ++ "ucrt_vsnprintf.c",
824 "stdio" ++ path.sep_str ++ "ucrt_vsprintf.c",692 "stdio" ++ path.sep_str ++ "ucrt_vsprintf.c",
825 "stdio" ++ path.sep_str ++ "ucrt_vsscanf.c",693 "stdio" ++ path.sep_str ++ "ucrt_vsscanf.c",
826 "stdio" ++ path.sep_str ++ "ulltoa.c",694 // uuid
827 "stdio" ++ path.sep_str ++ "ulltow.c",695 "libsrc" ++ path.sep_str ++ "ativscp-uuid.c",
828 "stdio" ++ path.sep_str ++ "vasprintf.c",696 "libsrc" ++ path.sep_str ++ "atsmedia-uuid.c",
829 "stdio" ++ path.sep_str ++ "vfscanf.c",697 "libsrc" ++ path.sep_str ++ "bth-uuid.c",
830 "stdio" ++ path.sep_str ++ "vfscanf2.S",698 "libsrc" ++ path.sep_str ++ "cguid-uuid.c",
831 "stdio" ++ path.sep_str ++ "vfwscanf.c",699 "libsrc" ++ path.sep_str ++ "comcat-uuid.c",
832 "stdio" ++ path.sep_str ++ "vfwscanf2.S",700 "libsrc" ++ path.sep_str ++ "ctxtcall-uuid.c",
833 "stdio" ++ path.sep_str ++ "vscanf.c",701 "libsrc" ++ path.sep_str ++ "devguid.c",
834 "stdio" ++ path.sep_str ++ "vscanf2.S",702 "libsrc" ++ path.sep_str ++ "docobj-uuid.c",
835 "stdio" ++ path.sep_str ++ "vsnprintf.c",703 "libsrc" ++ path.sep_str ++ "dxva-uuid.c",
836 "stdio" ++ path.sep_str ++ "vsnwprintf.c",704 "libsrc" ++ path.sep_str ++ "exdisp-uuid.c",
837 "stdio" ++ path.sep_str ++ "vsscanf.c",705 "libsrc" ++ path.sep_str ++ "extras-uuid.c",
838 "stdio" ++ path.sep_str ++ "vsscanf2.S",706 "libsrc" ++ path.sep_str ++ "fwp-uuid.c",
839 "stdio" ++ path.sep_str ++ "vswscanf.c",707 "libsrc" ++ path.sep_str ++ "guid_nul.c",
840 "stdio" ++ path.sep_str ++ "vswscanf2.S",708 "libsrc" ++ path.sep_str ++ "hlguids-uuid.c",
841 "stdio" ++ path.sep_str ++ "vwscanf.c",709 "libsrc" ++ path.sep_str ++ "hlink-uuid.c",
842 "stdio" ++ path.sep_str ++ "vwscanf2.S",710 "libsrc" ++ path.sep_str ++ "mlang-uuid.c",
843 "stdio" ++ path.sep_str ++ "wtoll.c",711 "libsrc" ++ path.sep_str ++ "msctf-uuid.c",
712 "libsrc" ++ path.sep_str ++ "mshtmhst-uuid.c",
713 "libsrc" ++ path.sep_str ++ "mshtml-uuid.c",
714 "libsrc" ++ path.sep_str ++ "msxml-uuid.c",
715 "libsrc" ++ path.sep_str ++ "netcfg-uuid.c",
716 "libsrc" ++ path.sep_str ++ "netcon-uuid.c",
717 "libsrc" ++ path.sep_str ++ "ntddkbd-uuid.c",
718 "libsrc" ++ path.sep_str ++ "ntddmou-uuid.c",
719 "libsrc" ++ path.sep_str ++ "ntddpar-uuid.c",
720 "libsrc" ++ path.sep_str ++ "ntddscsi-uuid.c",
721 "libsrc" ++ path.sep_str ++ "ntddser-uuid.c",
722 "libsrc" ++ path.sep_str ++ "ntddstor-uuid.c",
723 "libsrc" ++ path.sep_str ++ "ntddvdeo-uuid.c",
724 "libsrc" ++ path.sep_str ++ "oaidl-uuid.c",
725 "libsrc" ++ path.sep_str ++ "objidl-uuid.c",
726 "libsrc" ++ path.sep_str ++ "objsafe-uuid.c",
727 "libsrc" ++ path.sep_str ++ "ocidl-uuid.c",
728 "libsrc" ++ path.sep_str ++ "oleacc-uuid.c",
729 "libsrc" ++ path.sep_str ++ "olectlid-uuid.c",
730 "libsrc" ++ path.sep_str ++ "oleidl-uuid.c",
731 "libsrc" ++ path.sep_str ++ "power-uuid.c",
732 "libsrc" ++ path.sep_str ++ "powrprof-uuid.c",
733 "libsrc" ++ path.sep_str ++ "uianimation-uuid.c",
734 "libsrc" ++ path.sep_str ++ "usbcamdi-uuid.c",
735 "libsrc" ++ path.sep_str ++ "usbiodef-uuid.c",
736 "libsrc" ++ path.sep_str ++ "uuid.c",
737 "libsrc" ++ path.sep_str ++ "vds-uuid.c",
738 "libsrc" ++ path.sep_str ++ "virtdisk-uuid.c",
739 "libsrc" ++ path.sep_str ++ "vss-uuid.c",
740 "libsrc" ++ path.sep_str ++ "wia-uuid.c",
741 "libsrc" ++ path.sep_str ++ "windowscodecs.c",
742 // ws2_32
743 "libsrc" ++ path.sep_str ++ "ws2_32.c",
744 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_addr_equal.c",
745 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6addr_isany.c",
746 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6addr_isloopback.c",
747 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6addr_setany.c",
748 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6addr_setloopback.c",
749 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_linklocal.c",
750 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_loopback.c",
751 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_mc_global.c",
752 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_mc_linklocal.c",
753 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_mc_nodelocal.c",
754 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_mc_orglocal.c",
755 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_mc_sitelocal.c",
756 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_multicast.c",
757 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_sitelocal.c",
758 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_unspecified.c",
759 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_v4compat.c",
760 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_is_addr_v4mapped.c",
761 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_set_addr_loopback.c",
762 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "in6_set_addr_unspecified.c",
763 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "gai_strerrorA.c",
764 "libsrc" ++ path.sep_str ++ "ws2tcpip" ++ path.sep_str ++ "gai_strerrorW.c",
765 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiStrdup.c",
766 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiParseV4Address.c",
767 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiNewAddrInfo.c",
768 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiQueryDNS.c",
769 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiLookupNode.c",
770 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiClone.c",
771 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiLegacyFreeAddrInfo.c",
772 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiLegacyGetAddrInfo.c",
773 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiLegacyGetNameInfo.c",
774 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiLoad.c",
775 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiGetAddrInfo.c",
776 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiGetNameInfo.c",
777 "libsrc" ++ path.sep_str ++ "wspiapi" ++ path.sep_str ++ "WspiapiFreeAddrInfo.c",
778 // dinput
779 "libsrc" ++ path.sep_str ++ "dinput_kbd.c",
780 "libsrc" ++ path.sep_str ++ "dinput_joy.c",
781 "libsrc" ++ path.sep_str ++ "dinput_joy2.c",
782 "libsrc" ++ path.sep_str ++ "dinput_mouse.c",
783 "libsrc" ++ path.sep_str ++ "dinput_mouse2.c",
784 // dloadhelper
785 "libsrc" ++ path.sep_str ++ "dloadhelper.c",
786 "misc" ++ path.sep_str ++ "delay-f.c",
787 // misc.
788 "libsrc" ++ path.sep_str ++ "bits.c",
789 "libsrc" ++ path.sep_str ++ "shell32.c",
790 "libsrc" ++ path.sep_str ++ "dmoguids.c",
791 "libsrc" ++ path.sep_str ++ "dxerr8.c",
792 "libsrc" ++ path.sep_str ++ "dxerr8w.c",
793 "libsrc" ++ path.sep_str ++ "dxerr9.c",
794 "libsrc" ++ path.sep_str ++ "dxerr9w.c",
795 "libsrc" ++ path.sep_str ++ "mfuuid.c",
796 "libsrc" ++ path.sep_str ++ "msxml2.c",
797 "libsrc" ++ path.sep_str ++ "msxml6.c",
798 "libsrc" ++ path.sep_str ++ "amstrmid.c",
799 "libsrc" ++ path.sep_str ++ "wbemuuid.c",
800 "libsrc" ++ path.sep_str ++ "wmcodecdspuuid.c",
801 "libsrc" ++ path.sep_str ++ "windowscodecs.c",
802 "libsrc" ++ path.sep_str ++ "dxguid.c",
803 "libsrc" ++ path.sep_str ++ "ksuser.c",
804 "libsrc" ++ path.sep_str ++ "locationapi.c",
805 "libsrc" ++ path.sep_str ++ "sapi.c",
806 "libsrc" ++ path.sep_str ++ "sensorsapi.c",
807 "libsrc" ++ path.sep_str ++ "portabledeviceguids.c",
808 "libsrc" ++ path.sep_str ++ "taskschd.c",
809 "libsrc" ++ path.sep_str ++ "strmiids.c",
810 "libsrc" ++ path.sep_str ++ "gdiplus.c",
811 "libsrc" ++ path.sep_str ++ "activeds-uuid.c",
844};812};
845813
846const mingwex_x86_src = [_][]const u8{814const mingwex_x86_src = [_][]const u8{
847 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acosf.c",815 // mingwex
848 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acosh.c",816 "math" ++ path.sep_str ++ "cbrtl.c",
849 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acoshf.c",817 "math" ++ path.sep_str ++ "erfl.c",
818 "math" ++ path.sep_str ++ "fdiml.c",
819 "math" ++ path.sep_str ++ "fmal.c",
820 "math" ++ path.sep_str ++ "fmaxl.c",
821 "math" ++ path.sep_str ++ "fminl.c",
822 "math" ++ path.sep_str ++ "llrintl.c",
823 "math" ++ path.sep_str ++ "llroundl.c",
824 "math" ++ path.sep_str ++ "lrintl.c",
825 "math" ++ path.sep_str ++ "lroundl.c",
826 "math" ++ path.sep_str ++ "rintl.c",
827 "math" ++ path.sep_str ++ "roundl.c",
828 "math" ++ path.sep_str ++ "tgammal.c",
829 "math" ++ path.sep_str ++ "truncl.c",
850 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acoshl.c",830 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acoshl.c",
851 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acosl.c",831 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acosl.c",
852 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinf.c",
853 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinh.c",
854 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinhf.c",
855 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinhl.c",832 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinhl.c",
856 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinl.c",833 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinl.c",
857 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2.c",
858 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2f.c",
859 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2l.c",834 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2l.c",
860 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanf.c",
861 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanh.c",
862 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanhf.c",
863 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanhl.c",835 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanhl.c",
864 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanl.c",836 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanl.c",
865 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ceilf.S",
866 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ceill.S",837 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ceill.S",
867 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ceil.S",
868 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "_chgsignl.S",838 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "_chgsignl.S",
869 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "copysignl.S",839 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "copysignl.S",
870 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cos.c",
871 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosf.c",
872 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl.c",840 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl.c",
873 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl_internal.S",841 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosl_internal.S",
874 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cossin.c",842 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cossin.c",
875 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2f.S",
876 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2l.S",843 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2l.S",
877 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp2.S",
878 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "exp.c",
879 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expl.c",844 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expl.c",
880 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1.c",
881 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1f.c",
882 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1l.c",845 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "expm1l.c",
883 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "floorf.S",
884 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "floorl.S",846 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "floorl.S",
885 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "floor.S",
886 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmod.c",
887 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmodf.c",
888 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmodl.c",847 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmodl.c",
889 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fucom.c",848 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fucom.c",
890 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ilogbf.S",
891 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ilogbl.S",849 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ilogbl.S",
892 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ilogb.S",
893 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "internal_logl.S",850 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "internal_logl.S",
894 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ldexp.c",851 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ldexp.c",
895 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ldexpl.c",852 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ldexpl.c",
896 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log10l.S",853 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log10l.S",
897 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log1pf.S",
898 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log1pl.S",854 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log1pl.S",
899 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log1p.S",
900 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log2f.S",
901 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log2l.S",855 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log2l.S",
902 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log2.S",
903 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logb.c",
904 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logbf.c",
905 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logbl.c",856 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logbl.c",
906 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "log.c",
907 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logl.c",857 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "logl.c",
908 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "nearbyintf.S",
909 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "nearbyintl.S",858 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "nearbyintl.S",
910 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "nearbyint.S",
911 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "pow.c",
912 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "powl.c",859 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "powl.c",
913 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remainderf.S",
914 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remainderl.S",860 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remainderl.S",
915 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remainder.S",
916 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remquof.S",
917 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remquol.S",861 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remquol.S",
918 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "remquo.S",
919 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "rint.c",
920 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "rintf.c",
921 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbnf.S",862 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbnf.S",
922 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbnl.S",863 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbnl.S",
923 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbn.S",864 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "scalbn.S",
924 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sin.c",
925 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinf.c",
926 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinl.c",865 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinl.c",
927 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinl_internal.S",866 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinl_internal.S",
928 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "tanf.c",
929 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "tanl.S",867 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "tanl.S",
930 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "truncf.S",868 // ucrtbase
931 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "trunc.S",869 "math" ++ path.sep_str ++ "fabsf.c",
870 "math" ++ path.sep_str ++ "nexttowardf.c",
932};871};
933872
934const arm_common = [_][]const u8{873const mingwex_x86_32_src = [_][]const u8{
935 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "acosh.c",874 // ucrtbase
936 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "acoshf.c",875 "math" ++ path.sep_str ++ "coshf.c",
937 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "acoshl.c",876 "math" ++ path.sep_str ++ "expf.c",
938 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "asinh.c",877 "math" ++ path.sep_str ++ "log10f.c",
939 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "asinhf.c",878 "math" ++ path.sep_str ++ "logf.c",
940 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "asinhl.c",879 "math" ++ path.sep_str ++ "modff.c",
941 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "atanh.c",880 "math" ++ path.sep_str ++ "powf.c",
942 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "atanhf.c",881 "math" ++ path.sep_str ++ "sinhf.c",
943 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "atanhl.c",882 "math" ++ path.sep_str ++ "sqrtf.c",
944 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "copysignl.c",883 "math" ++ path.sep_str ++ "tanhf.c",
945 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "expm1.c",884 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "acosf.c",
946 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "expm1f.c",885 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "asinf.c",
947 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "expm1l.c",886 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atan2f.c",
948 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ilogb.c",887 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "atanf.c",
949 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ilogbf.c",888 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "ceilf.S",
950 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ilogbl.c",889 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "cosf.c",
951 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ldexpl.c",890 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "floorf.S",
952 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log1p.c",891 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "fmodf.c",
953 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log1pf.c",892 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "sinf.c",
954 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log1pl.c",893 "math" ++ path.sep_str ++ "x86" ++ path.sep_str ++ "tanf.c",
955 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "log2.c",
956 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "logb.c",
957 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "logbf.c",
958 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "logbl.c",
959 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "powf.c",
960 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "powl.c",
961 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remainder.c",
962 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remainderf.c",
963 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remainderl.c",
964 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "remquol.c",
965 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "s_remquo.c",
966 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "s_remquof.c",
967 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "scalbn.c",
968};894};
969895
970const mingwex_arm32_src = arm_common ++ [_][]const u8{896const mingwex_arm32_src = [_][]const u8{
897 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ldexpl.c",
971 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "_chgsignl.S",898 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "_chgsignl.S",
972 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rint.c",899 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rint.c",
973 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rintf.c",900 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_rintf.c",
974 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "exp2.S",
975 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "exp2f.S",
976 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "nearbyint.S",
977 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "nearbyintf.S",
978 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "nearbyintl.S",
979 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "sincos.S",901 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "sincos.S",
980 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "sincosf.S",902 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "sincosf.S",
981 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_trunc.c",
982 "math" ++ path.sep_str ++ "arm" ++ path.sep_str ++ "s_truncf.c",
983};903};
984904
985const mingwex_arm64_src = arm_common ++ [_][]const u8{905const mingwex_arm64_src = [_][]const u8{
986 "misc" ++ path.sep_str ++ "initenv.c",906 "math" ++ path.sep_str ++ "arm-common" ++ path.sep_str ++ "ldexpl.c",
987 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "_chgsignl.S",907 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "_chgsignl.S",
988 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rint.c",908 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rint.c",
989 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rintf.c",909 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "rintf.c",
990 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "sincos.S",910 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "sincos.S",
991 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "sincosf.S",911 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "sincosf.S",
992 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "exp2f.S",
993 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "exp2.S",
994 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "nearbyintf.S",
995 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "nearbyintl.S",
996 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "nearbyint.S",
997 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "truncf.S",
998 "math" ++ path.sep_str ++ "arm64" ++ path.sep_str ++ "trunc.S",
999};
1000
1001const uuid_src = [_][]const u8{
1002 "ativscp-uuid.c",
1003 "atsmedia-uuid.c",
1004 "bth-uuid.c",
1005 "cguid-uuid.c",
1006 "comcat-uuid.c",
1007 "devguid.c",
1008 "docobj-uuid.c",
1009 "dxva-uuid.c",
1010 "exdisp-uuid.c",
1011 "extras-uuid.c",
1012 "fwp-uuid.c",
1013 "guid_nul.c",
1014 "hlguids-uuid.c",
1015 "hlink-uuid.c",
1016 "mlang-uuid.c",
1017 "msctf-uuid.c",
1018 "mshtmhst-uuid.c",
1019 "mshtml-uuid.c",
1020 "msxml-uuid.c",
1021 "netcfg-uuid.c",
1022 "netcon-uuid.c",
1023 "ntddkbd-uuid.c",
1024 "ntddmou-uuid.c",
1025 "ntddpar-uuid.c",
1026 "ntddscsi-uuid.c",
1027 "ntddser-uuid.c",
1028 "ntddstor-uuid.c",
1029 "ntddvdeo-uuid.c",
1030 "oaidl-uuid.c",
1031 "objidl-uuid.c",
1032 "objsafe-uuid.c",
1033 "ocidl-uuid.c",
1034 "oleacc-uuid.c",
1035 "olectlid-uuid.c",
1036 "oleidl-uuid.c",
1037 "power-uuid.c",
1038 "powrprof-uuid.c",
1039 "uianimation-uuid.c",
1040 "usbcamdi-uuid.c",
1041 "usbiodef-uuid.c",
1042 "uuid.c",
1043 "vds-uuid.c",
1044 "virtdisk-uuid.c",
1045 "wia-uuid.c",
1046};912};
1047913
1048pub const always_link_libs = [_][]const u8{914pub const always_link_libs = [_][]const u8{