Summer of Code begins… with Psion import?
So today was the official start of the Google Summer of Code, which I am thrilled to be a part of. My first task is to get the AbiCollab collaboration plugin running on Windows, and getting a GUI on it. There has been no work on AbiCollab on any platform except Unix (and Sugar/OLPC), so with regard to building, I had to create Makefiles from scratch. As our Windows build uses a “diving Make” system instead of Autoconf/Automake like the other platforms, I have to figure out how exactly those makefiles work and how to create new ones to build AbiCollab properly.
This is a little bit of a challenge, since the problem is actually dual: we both have a new/untested build system, and code that might not actually even build at all on Windows in its state. As I was working on cleaning up my build instructions, I realized that some time ago, I had disabled the Psiconv (Psion Word) plugin since it was causing some problems, not working very well, and used the old “peer libs” mechanism for compiling. I figured I may as well get that going again (providing a binary distribution for ease of use), and I unknowingly got myself into a bigger project than I anticipated. (I hadn’t remembered it ran as a peer lib, and so I installed it as a system library in MinGW) That was alright, though, because it provided an exercise in Makefile-fu necessary to proceed in the AbiCollab project. I had to change bits of the makefile from the old peer lib setup to a new system installed setup using pkg-config (and I made the pkg-config file for psiconv). The cool part is, I was successful! If I comment out a debug message (since there’s something telling it to be a debug library even though I want just a regular version), the plugin builds and runs, and even imports the sample file that came with Psiconv!
An unusual start, perhaps, resurrecting an old plugin, but useful to some end users and definitely useful to me as an exercise. Thanks, Google!
Syndicated 2007-05-28 21:49:03 from code art life - Ryan Pavlik on ClearDefinition