Note: I didn't update these sources and the porting notes in a long time ( and I don't know if I will ever have the time to do it ): But in the mean time my changes have been added to the standard Kaffe distribution, so the latest sources from http://www.transvirtual.com/ should build and run fine on NetWinder (just run configure).
Note: I wrote the system-dependent code for Kaffe JIT. It needs to be debugged, but I'm currently stuck since the code for flushing the instruction cache does not work, and I cannot debug the generated code. But feel free to examine and play with the code available as armjit.tar.gz
configure arm-linux \ --with-aDict=../dict/cmudict.0.4 \ --with-bDict=../dict/beep-1.0 \ --with-gdbm=../gdbm-1.7.3/
make realclean xmkmf make World
CFLAGS="-fsigned-char -fno-exceptions -fno-rtti" \ CXXFLAGS="-fsigned-char -fno-exceptions -fno-rtti" \ sh configure arm-linuxThis is a simple game to tests the package: dumb-game-0.13.0-nw.tar.gz (300KB) A Doom WAD file can be downloaded from ID Software's FTP site
Note: All the patches but libgtop have been integrated in the official source tree. They are available since 1/2/99.
Note: The current C compilers (both gcc-2.8.1 and egcs-1.1.1) have a bug that makes glib/testglib.c and glib/gthread/testgthread.c fail to compile. As a temporary bypass run the compilation command for that file without the -O2 option.
I also have available a few scripts to make life easier when configuring, building or running GNOME executables (installed in /usr/local/gnome/ - I didn't wanted to add the GNOME stuff to the standard PATH and such, so I use these script to temporary set them while running GNOME applications) :
KDE requires the Qt libraries to be installed.
Since the last version I tried ( 1.33 ) there has been some cleanup in the configuration and now it seems to be more "difficult" to hack the build flags.
So, this time I took a different approach: I created a new configuration file ( qt/configs/netwinder-g++-shared ) as a copy of qt/configs/linux-g++-shared, and I added the needed flags to the compiler definition:
$ diff netwinder-g++-shared linux-g++-shared 4,6d3 < # NetWinder-specific flags < SYSCONF_CC += -fsigned-char -fno-exceptions -fno-rtti -fomit-frame-pointer <Then I simply configured the package by running:
./configure arm-linuxLessTif is needed for Mozilla (as replacemnt of Motif). The test programs work fine.
The latest sources (October, 10 1998) contains all
the changes to correctly build on a NetWinder (but one: the
initialization of a FILE pointer with stdout - substitute
it with FILE * xxx = NULL;)
If your version of the sources still does not contain them, use my patches above.
With the supplied changes the official sources builds
with no problems (if you have enough patience :) and
you can get an almost working, almost full featured
The package requires LessTif (as replacement for Motif) in order to build.
In order to properly work it requires a "patched" libstdc++.so to fix the incompatibilities with glibc.so.
export MOZILLA_CLIENT=1 MOZ_MEDIUM=1 NO_SECURITY=1 NO_UPDATE=1If you don't do it, Mozilla does not compile. If your compilation breaks and you find that's the problem, I'm sorry but you have to scratch the current build and start it again. Just restarting the make after setting these variable creates an executable that does not work (been there, done that - more than once ):
moz-export right now does NOT work: it crashes while starting, and I still don't know why ( gdb crashes after loading a tons of shared libraries ):
mozilla-export should work. You can make a more maneagable version by running 'strip' on it (it gets down to around 7MB).
#!/bin/sh cflags="-fsigned-char -fno-rtti -fno-exceptions -fomit-frame-pointer" CFLAGS=$cflags CXXFLAGS=$cflags sh configure --host=arm-linuxAfter building and installing the package, create a link for the default port to use:
ln -s /dev/ttyS0 /dev/pilotAnd make sure you have the correct access rights (i.e. 666)
|Created:||July, 21 1998|
|Last update:||January, 1 1999|