Building on Win2K

Paul Leyland
Thu, 28 Nov 2002 03:12:50 -0800

> It's a bit hard to be motivated about an egregiously non-free
> environment like w32+msvc, but people ask for it, having apparently
> not yet had their eyes opened to the benefits of a gnu or bsd system.

I am self-evidently biased (look at my email address) and self-evidently =
bizarre in that I run BSD and gnu systems (look at my email address) so =
perhaps anything I say should be treated with suspicion.  In any event, =
anything I say should be treated as entirely my own personal ramblings =
and are in no way speaking for what my employer (look at my email =
address) may or may not think of the subject.

Disclaimer aside, my personal view is that GMP is an excellent package =
for number theoretical computations and should be ported widely, =
including to systems that may not be used by a number of its authors.  =
It is entirely understandable that it installs and runs most easily on =
the authors' systems.  It is also entirely desirable that it installs =
and runs easily on other systems.  The saying about sauces and genders =
of geese comes to mind when contemplating the similarities in difficulty =
of getting some systems' software to work in other systems' =

Philosophical meanderings aside, a more practical observation is that =
Microsoft's Services for Unix, currently at V3.0, makes porting =
GMP-using software to a Win32 environment extremely easy.  It just works =
straight out of the box.  The Unix-like tools you need, and most of the =
ones you expect, are present and the "./configure; make; make check; =
make install" idiom does The Right Thing.  You do have to install the =
gcc portion of SFU and it doesn't then use MSVC, but it does work =
nicely.  (And yes, MS does openly redistribute some (L)GPL software and =
it does, of course, abide by the relevant licenses: a state of affairs =
some find surprising for some reason.)

Personally I prefer the MSVC development environment to the gcc command =
line, though Emacs makes gcc tolerable, but after a lifetime of typing =
escape-meta-alt-control-shift chords I'm forever having to correct typos =
in my code because I let my subconscious do too much of my fingerwork.