Michal Čihař - Archive for Jan. 12, 2009

Cygwin in Wine?

As some people complained that Gammu does not build under Cygwin, I decided to setup a test environment. And of course I'm not going to use real Windows, that would not allow me to use it effectively, so let's do it in Wine. I currently have 1.1.12, which is in Debian packages (in experimental), so I blindly downloaded Cygwins installer, started it and (even if Wine complained quite loudly about not supported things) it installed without a single problem!

So let's try to compile Gammu in it. First attempt fails, because Cygwin symlinks do not work in Wine. But there is an easy workaround - just copy as.exe and ld.exe instead of symlinks and now even the compiler works. Rest is surprisingly without any problems, so I can nicely get test results to Gammu dashboard.

Kudos to all people who make this work.

Say good bye to python-gammu

python-gammu has been here for more than five years and now it is gone! Well not really, I only integrated it into regular Gammu sources, what is anyway logical place where it belongs. Especially when looking on last releases, which were anyway bound together.

The fact that several past releases have to happen together for both python-gammu and Gammu is not the only reason for merge. The other two major reasons are cross-compilation and testing. Besides this, with merged source, it will be easier for some distributions to deploy newer Gammu to released products.

For testing I definitely could use some python based test framework, but I'd like to have all test results in a single place and I didn't find something what would easily integrate some python test framework with some dashboard and also would be capable of doing C testing. Also current CTest/CDash combo used in Gammu really fits my needs for good overview what is going on in daily tests, so I preferred to stay with current system.

Cross-compilation support is really missing in distutils and I was using set of hacks to make it properly produce binaries for Windows on Linux. With current CMake based setup, all this is just matter of providing Python instance to use.

On the downside, I can not really drop distutils usage, as they will still be needed for creating binary installer for Windows, unless I'll find some clever way how to do this in CMake (which I really doubt).