https://bugs.winehq.org/show_bug.cgi?id=47849
Bug ID: 47849 Summary: Simplify BuildCros() in Build.pl Product: Wine-Testbot Version: unspecified Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: unknown Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
Build.pl is the script that's responsible for building PE executables that can be used to runt he tests on Windows VMs.
Currently it's still jumping through hoops to produce PE executables (see BuildNative() and BuildCross()), which is most likely unnecessary since Wine now builds all tests as PE executables by default.
So that code could likely be simplified but we would not want to lose speed advantage either: the build VM never compiles a full Wine which means patches touching headers don't cause 45+ minutes builds. Also the current code still works so it's not necessarily urgent.
Side note: In fact it could be argued that the build VMs are unnecessary now since any Wine VM could produce these PE executables. There's some caveats with that though:
- Wine may not produce PE executables on some platforms. For instance for a while it looked like MinGW was not usable on NetBSD, forcing the TestBot to produce only regular ELF executables. That got fixed but the issue may happen again on other Unix platforms. Maybe.
- In the absence of support for load balancing it's useful to have a separate build VM to spread the load. That VM could be a repurposed Wine VM though.