Crouching Leopard, Solid Dragon

Solid Dragon

It's time to present the little hack that I've been working on for a while now: A Mac OS X backend (source code) for Solid, KDE's hardware introspection library. To make a good screen shot, and to show how easy it is to use Solid, here's also a small hardware browser:

Mini Solid-based Hardware Browser

The backend is still in progress, and not all Solid hardware interfaces are implemented yet. Still, the generic interface can be used to introspect any device and read out its properties. You can even introspect the famous Dont_Steal_Mac_OS_X device :)

One of the nice things about Solid is that it can be used from non-KDE applications as well - it just requires Qt (*)

64-bit Leopard

Next to playing with Solid, the release of Qt 4.5 was a good excuse to play with 64-bit KDE on 10.5 (Leopard).

First, we need the magic CMake switch to build 64-bit Mac OS X applications: -DCMAKE_OSX_ARCHITECTURES="x86_64" (**)

Unfortunately, some of kdelib's files rely on deprecated API which doesn't exist in the 64-bit versions of OS X's libraries. So after some fixing and some more commenting out of non-compiling stuff, I finally got my first KDE 64-bit application:

minibrowser.app/Contents/MacOS/minibrowser: Mach-O 64-bit executable x86_64

Screen shot: see above ;)

 

(*) Well, there's also a D-Bus dependency

(**) You can produce universal binaries by separating the desired architectures with a semicolon, e.g. -DCMAKE_OSX_ARCHITECTURES="x86_64;i386;ppc;ppc64" to get all four currently supported architectures. Unfortunately, I have no clue how to create universal binaries for the third party libs that KDE depends on (e.g. D-Bus) - any automake expert, please leave a comment (or convince the projects to switch to a more humane build system).


Blog Topics:

Comments