New Windows build environment

Note: This is an old post in a blog with a lot of posts. The world has changed, technologies have changed, and I've changed. It's likely this is out of date and not representative. Let me know if you think this is something that needs updating.

I spent a good amount of time over the last few months migrating Miro on Windows to a new Windows build environment that uses Python 2.6.5 and Visual C++ 9.0 (part of Visual Studio 2008).

I landed the changes two weeks ago. Janet, Ben and I identified a couple of problems and sorted those out. Last week I got the Windows build box to produce nightlies without requiring any babysitting.

Yay!

Features of the new Windows build environment:

  1. It's a lot easier to configure. Previously, we had to set PATH, INCLUDE, and LIB environment variables to the right magic values to build correctly. Python 2.6 automatically pulls those values from Visual Studio 2008 files. So we don't need to deal with those anymore.

  2. It uses Visual C++ 9.0 (Visual Studio 2008) rather than VC++ 7.1 (VS 2003). The latter can no longer be acquired legally (thank you MS). There's an Express version of the former available on the Microsoft site for free.

  3. We were using Python 2.5 which had a bunch of bugs we had workarounds for. We're now using Python 2.6.5 which doesn't have these issues and also has a series of optimizations that should make Miro run better.

  4. There's a get_requirements.sh script that downloads the versions of Python and libraries that you need automatically.

This also means that we can require Python 2.6 or later on all platforms for Miro. Therefore we can:

The one thing we still want to do is upgrade from gtk 2.16 to gtk 2.20. Bug 14037 covers the problems here. We're blocked by Bug 625972 in gtk.

I've written up instructions on setting up the new Windows build environment. It takes me about 30 minutes to do--mostly because it takes a while to install Visual C++ 9.0 Express. It's much easier to set up the new environment than the previous environment. When I first started at PCF a few years ago, it took me a couple of days to get the Windows build environment working.

For more details on the new Windows build environment, see the wiki page on WindowsBuildDocs.

Want to comment? Send an email to willkg at bluesock dot org. Include the url for the blog entry in your comment so I have some context as to what you're talking about.