Friday, September 28, 2007

On the way to desktop freedom

Not so long ago, I blogged about my strive to get rid of the need of running non-free operating systems while developing and maintaining my (our) different libraries. One step towards freedom was to find different emulators that could help to generate WordPerfect documents. That problem solved, one last thing was forcing me to have access to a non-free operating system. By the respect to our users and knowing that a typical Windows user is not really very good at operating compilers, for each release of libwpd, libwpg and other related packages, I was booting the win32 partition to maintain the MSVC project files and to build release binaries for Windows.

This time is over now. First to contribute to my liberation was the CrossToolChain repository in Build Service. The MinGW cross-compiler is already successfully used to build the infamous unowinreg.dll during the build process. So, I gave it a shot and, after some modifications of the makefiles, the cross-compiling is a reality. What a pleasure to be able to run make -j9 and have the libraries built faster then their shadow! Inspired by some ingenious scripts by my distinguished colleague Tor Lillqvist, I even have a creation of release packages scripted and don't have to do much manually anymore. Some of the credits go also to an extraordinary expert in cross-compilations of all kinds, Rob Staudinger, who helped to implement some of needed configure options.

The last milestone that was remaining on the way to freedom was a need of Microsoft Visual Studio to maintain the MSVC project files in the different libraries. But, this problem is solved now too. The key of the solution is called CrossOver Linux Professional. Last night, helped by Uncle Google, I managed to install Visual C++ 6.0 SP6 in a managed bottle. The cool thing with the Professional version is that once the bottle properly installed and configured, one can create an RPM package and deploy it on other computers. And the application is basically accessible to all users of the computer.

For those who are impatient to see how MSVC running under linux looks, here is what you are waiting for!

By the way, I forgot to say that if you are running one of SuSE or Fedora Linux distributions and are keen to have the newest of the newest for libraries that I maintain or contribute to, you might find useful packages in my home project in our dear openSUSE build service. It is enough to chose your distribution and point the yum, zypper or other favourite package manager to the corresponding repository. So, pick the packages and taste how sweet they are!