EDIT (2022):
It's been more than 9 years since I wrote the original answer, and at this moment I would provide a different opinion.
In 2022, Linux is now mainstream platform for development, and less and less people are using Windows to build things that are closely related to Linux. Those software engineers who are forced to use Windows often use dual boot, or VM, or SSH access to a build machine, or Docker. Now, Visual Studio also supports remote Linux target, and even WSL. Crazy.
So, my suggestion as of 2022 is: if you really, really need to build Linux code on the same Windows machine, I'd had a look at these two options:
- WSL and
mingw-w64
- Docker (this one, for example)
ORIGINAL ANSWER (2012):
I see two options here:
- emulate Unix environment on Windows
- cross-compile from Unix/Linux to Windows target platform
While second option might decrease headaches building in native environment, I found it uncomfortable if you are working primarily on Windows, since this requires transferring resulting binaries to Windows machine. Let's have a look at first option instead - emulate Unix environment and build GNU software on Windows.
While some packages might have support for building on Windows without preparing environment, these might be custom solutions done with CMake, Visual Studio, and other non-typical ways of building GNU open-source stuff.
There are two popular options for Unix environment emulation on Windows, Cygwin and Msys. Both of options have they pros and cons and this is a widely discussed topic, I'm not going to dive into that.
BTW, personally I'm using Msys, and never had any problems with that, apart from typical Windows incompatibility issues for some packages.
autoconf
is going to be a Unix shell script anyway. – Alectryomancy