Qt/Embedded @ wscons


March 08, 2009 posted by Valeriy E. Ushakov

Some time ago I finally found a small box of round tuits and ported Qt/Embedded to run on top of wscons. Unfortunately, day job and other things have been sucking most of my time, so after sitting on these patches for almost a month I figured that may be someone out there may be interested enough to pick this up.

It's a very quick and very dirty hack done over a weekend, and misses some bits, but basic stuff works, so if someone feels like playing with it, you can grab qt-embedded-linux-opensource-src-4.4.3 from

http://www.qtsoftware.com/downloads/opensource/device/embedded-linux-cpp/

and my patches from

ftp://ftp.netbsd.org/pub/NetBSD/misc/uwe/qtemb443-netbsd-20090210.tgz

untar it at the root of qt directory to get new files and apply netbsd.patch. There's wsconfig.sh script to simplify running configure with its gazillion of options.

For the docs on how to build and run it see

You will need to install it so that it can find fonts and stuff, but with LD_LIBRARY_PATH=$PWD/lib:/usr/pkg/lib you can run directly out of the build dir (hint: if you gonna hack on wscons code run gmake in src/gui only, to save time - it's a pig to link, especially with debugging):

./demos/textedit/textedit -qws        # basic test
./bin/designer -qws                   # spiffy gui show off

Wscons code is currently hardcoded to use ttyE1 and wsmouse/wskbd devices need to be readable by the user you run qws programs under. Keyboard code is not complete and indexed color mode is not written yet (I used vesafb 1024x768 at 16 bit). Touchpanel calibration support needs to be added to the mouse driver.

I did the port and all the testing on NetBSD/i386 4.0. Adding cross-compilation support should be fairly easy (compiling it on something like jornada would take *ages*, i guess :). To get a "generic" cross compilation environment that targets some particular NetBSD platform you only need to add a few symlinks to results of build.sh. There are some old notes here:

http://www.stderr.spb.ru/~uwe/netbsd/cross.html

Have fun.

PS: Horrible #ifdef __NetBSD__ // XXX in src/3rdparty/webkit/JavaScriptCore/kjs/collector.cpp is a workaroud (and i386 specific at that) for a bug in 4.0 libpthread - from source inspection it looks like it shouldn't be necessary for current/5.0 threads.

Sorry I didn't have time to clean up the patches...

[0 comments]

 



Post a Comment:
Comments are closed for this entry.