.. title: New Windows build environment .. slug: new_windows_environment .. date: 2010-08-13 16:38:02 .. tags: miro, work, dev

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.