Older blog entries for tan (starting at number 5)

Following rmathew's advice, I looked for a cl.exe (the Win32 compiler) flag equivalent to gcj's -fno-omit-frame-pointer. Which actually exists.

I then had a fun little time disassembling the resulting library to ensure this flag had the desired effect (I used REC for this purpose, a nice but sadly not open-sourced software).

Well, it did, but this did not solve my crashing issues. At this point, it seems like I really should study and trace gcj's stack unwinding code...

The gcj mailing-list (and, more specifically, Ranjit Mathew, the author of the scripts I used to build a Win32 gcj) helped me; I'm not sure I liked the answer, though...

So I need to build an SWT DLL using a specific flag (-fno-omit-frame-pointer). Otherwise, the unwinding code (whatever kind of stack-walking thingy that may be) get confused.

I've actually been able to build a working DLL, but I had to use the standard Windows toolchain (which, surprisingly to me, I could download for free). Adapting those makefiles to gcj will be an interesting exercise...

I'd never thought my desire to integrate open source java software to Windows would lead me to the installation and fiddling with of so much Microsoft tools...

So the gcj toolchain seems to be properly compiled under Windows. And I've been able to compile and run a simple hello world.

After some hesitations, I've also compiled and linked simple SWT code, which is my main goal for now. Sadly, this dies when setting up SWT Display. gdb only revealed some arcade parts of stacktraces handling in libjava; nothing I can debug myself for now.

Since I don't know how to handle this, I posted a message to gcc's java list. I've registered to it when I started playing with gcj; those people seem pretty reactive.

11 Aug 2006 (updated 14 Aug 2006 at 07:51 UTC) »

My discovery of the wonders of open-source java compilers continues, as I dig deeper in gcj mailing lists archives...

So ecj does not compile to native code... I'll stick to gcj then.

Actually, I packed together rmathew's instructions in a shell script and after some fiddling, I've successfully built my first Windows gcj compiler yersterday!

It's a priviledged moment: as I didn't have time to read the compilation logs and test the resulting binaries, I am not aware for now of any problem that may have happened :-)

In my study of the native java compilation ecosystem, I discovered an interesting compiler project, GCJX. One of the goals of GCJX is to replace the current Java front-end in GCJ. Sounds nice.

Then I discovered that its main developer, Tom Tromey, is seriously reconsidering his project. But in that same message, I learnt the existence of the seemingly little-known Eclipse Java Compiler (ecj). Which looks nice from a performances point of view, but doesn't even answer to its name...

Anyway. I kind of goofed around with MinGW/MSYS-based gcc compilation, without much luck for now. But I spent some time on cross-native (or whatever it's called) compilation of a Windows gcc compiler under linux, and this looks very promising.

Hum, the previous link doesn't seem up at all time; here is the goggle cache entry.

27 Jul 2006 (updated 19 Aug 2006 at 21:05 UTC) »

First entry. Great.

I feel that Java/SWT under Eclipse is a slick way to develop apps. But being able to share those apps with people without the hassles of JVM installation and kludgy integration would be great.

Here enters native compilation. As a testbed, I'd like to compile a small SWT example demonstrating some nice native features (tray icons and tooltips) under Windows.

For this test to be useful, it should be performed using open-source tools and a modern java environment version (1.4.2 at least, preferably 5.0 or whatever it's called today).

Some documentation exists, but I'd like to write some more up-to-date, no-fuss instructions.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!