---

MinGW and Why Linux Users Should Care

“Richard: For some time I have been making Windows builds of
libvirt available and, frankly, it was a real chore. I needed a
Windows virtual machine to do it. But Windows is so frustrating to
use and maintain: it doesn’t come with any of the tools such as
shells or version control that we are used to, and because I was
only doing builds once a month or so I’d go back to it and find
something had gone wrong that would require maintenance or even
reinstallation.

“During this time, we didn’t routinely build libvirt for
Windows. New code would inevitably break something. I had to fix
things on Windows, then copy the code back to Linux and check that
my fixes didn’t break the Linux build, then come up with a patch,
and all of this was complicated by the fundamental incompatibility
of Windows with the rest of the world — even simply copying code
back and forth is irritatingly difficult when one machine is a
Windows machine. (There’s no ssh or scp or tar, files get
executable bits set or have CRLF line endings, etc.)

“At the same time we were getting a strong demand for the rest
of our virt tools on Windows. Enough was enough. We decided that
the only way to deal with this was to remove Windows from the
equation. We wanted to build and test libvirt and the virt tools
for Windows routinely (daily or more often), from the Fedora host,
using the normal development environment. The way to do this is
through cross-compilation (the Fedora MinGW project) and testing
under emulation (Wine).”

Complete Story

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis