Log in

Previous Entry | Next Entry

Kaffe on Microsoft Windows Vista

Since Microsoft's Windows Vista comes with Interix 6 (which is now called SUA) in the Ultimate & Enterprise edition, I went ahead and did a quick port on Sunday. The obligatory HelloWorld screen shot:

From Kaffe on inte...

As the screen shot shows, I had to make a few tweaks, so I'll be pushing those into Kaffe's CVS and GNU Classpath proper.

Interix is a mild pain to port software to, as FSF's GNU tools that Microsoft distributes as part of its Vista Ultimate product seem to be frozen in time: gdb from 2002, gcc 3.3, ... and the system headers are a bizarre amalgam of Microsoft's proprietary files and Caldera's proprietary files, which leads to funny side effects (and broken builds), when the two don't agree on how to name guard #defines to check if a type has been already defined. Microsoft's 'enterprise' Unix system doesn't come with an X server, so I wasn't able to check if the gtk peers work, the gdb version included in Interix routinely crashes when trying to debug code, and so on. Given that Interix6 is the main reason for spending the extra cash on Windows Ultimate/Enterprise vs. the 'lesser' editions, it's amazing how much seems to have slipped past Microsoft's QA process. In addition to the bugs, the lack of a built-in packaging solution for Interix 6 is very last century, and quite amusing for someone coming from the GNU/Linux world.

I spent some time trying to hunt down the sources for the GPLd GNU tools that Microsoft distributes in Vista, but could not find them on the Microsoft's usual GPLd source code dump site at ftp://ftp.microsoft.com/developr/Interix ... so I was wondering if anyone had seen them, and could point me to their location?

Update: I should point out that the .exe installer for the Interix 6 binaries is apparently online on Microsoft's web site at http://www.microsoft.com/downloads/details.aspx?FamilyID=93ff2201-325e-487f-a398-efde5758c47f&DisplayLang=en
and it quite prominently lists GNU SDK and GNU Utilities as downloads. To my surprise, the web site does not seem to contain a URL to the actual sources for those GPLd tools on Microsoft's web site, at the moment.

Update: I've asked around a bit more, and posted on the Interopsystems forum. Interopsystems are the company that built Interix originally, and seem to be doing some work for/with Microsoft in that area.

Asking about the code on Todd Ogasawara's blog was a bit more sucessful, Microsoft's Jamie Cannon quickly & kindly offered to help. On a side note, I found it somewhat odd that Microsoft's own open source project hosting site, CodePlex, does not host the code for the Free Software components of Vista.

Update: The code is there, actually, as Microsoft's Shamit Patel points out, if one knows how to find it. Download the installer executable, unzip(!) it to extract its contents, change the directory to source/Interix/gnu, uncompress and untar the gcc.tgz tarball, and the sources are there, with READMEs, a separate directory of patches, and so on. Good stuff, and thank you for your fast response, Jamie & Shamit.