onsdag 7 juli 2010

Say after me: javahhh

Yes, one month after the previous blog. Though I have been doing some work on JAmiga, it hasn't been much. The summer with its sun is here, which puts me outside with a glass of rosé wine.
Anyhow, the work I have made consist of a lite-javah-util. Javah comes with the Java SDK and it creates C-header files for the JNI, for native methods in java classes. I have been using the one on my Ubuntu linux machine, but since it only produces the header files, I still have to do a lot of typing (I believen there were version of javah that also produces skeleton c-source, but I haven't found it anywhere). Basically, my javah-lite (should) produce both header and c-file, with empty skeleton JNI functions, from the java source. The comments from the Java-source should be available, which the original javah does not, so one doesn't need to look at the Javadoc all the time. The JNI stuff should do nothing, but I should be able to run JAmiga with GNU classpath 0.95 (for instance) and make it crash, or hopefully complain about unimplemented methods. When I manage to do this, it is just a matter of going through the JNI code, and implementing the functions.

So, progress is as always slow.

onsdag 9 juni 2010

Looking into GNU Cp 0.93

I have now built GNU CP 0.93 (on my Linux machine), I used this configure:
.\configure --disable-jni --disable-gtk-peer --disable-gtk-gconf-peer --disable-plugin --disable-core-jni --withour-native-libdir -- with-ecj --host=ppc-amigaos --prefix/home/joakim/amiga/Projekt/cp093 --with-glibj=flat

Which build the whole thing using ecj (could probably use somthing else, but I had that installed), and creates a dir with class-files (not a jar file).

Anyways, trying to use this with JAmiga didn't work, and I believe there are a few native stuff needed. Will continue looking at what is implemented and not; info will come on the wiki.

tisdag 8 juni 2010

Roadmap thoughts

I've been thinking of producing a roadmap of some kind. A wiki page has been created. Two subgoals have been identified: getting Java 1.4 working with GNU CP 0.93, and then adding Java 1.5 with GNU CP 0.98.

tisdag 18 maj 2010

Making minimal progress

I've been gathering motivation to getting 0.0.6 version out the door. Tonight I played around with the install script, and hopefully we could have version 0.0.6 out soon. That version will contain jamiga 0.0.6 with OS4-specific memory routines, classpath 0.12 and optional jikes.

onsdag 17 februari 2010

JAmiga continuing

So, a few things has happened on the JAmiga front.

Began from scratch with the jamiga source found at jamiga.org, and the classpath 0.12. I have made a local SVN to keep track of what I've done.

I've also tried mauve, and ran autoconf aclocal, and what not on my Linux machine, copied that to the Miggy, and made a few changes to the Makefile, so it runs with JAmiga (the CP is separated with ",", since the colon is for devices and disks on Amiga), and "/bin/pwd" was changed to "cd".

So, I'm thinking of releasing a JAmiga 0.0.6, with classpath 0.12 and mauven included, to get a few other testers.
Work now has to been done on:
1. Stabilizing JAmiga
For this the mauven project is excellent, since it doesn't need all classes supported; the first goal would be too make JAmiga crash "nicely" and just throwing exceptions.
2. Getting Java 1.5, 1,6 and 1.7 to run
Done, by either getting GNU classpath 0.98 to run (a few GNU classpath native methods has to be made), OR getting the OpenJDK supported (the former is probably much easier, since I've actually got a 0.98 compiled CP, and only get obvious methods that aren't supported)
3. Improving the org.jamiga-classes

These three steps could be done separately.

The first thing needed though is getting a new JAmiga out the door, getting some buzz, and attracting more testers and developers (and perhaps bounty givers).

fredag 16 oktober 2009

Some progress

Yes, I'm making progress on the jamvm for AmigaOS4.

I have found some pthread stuff that isn't implemented on AmigaOS4's implementation. For now its removed with #defines, which ofcourse doesn't work, but I atleast got it to run on the Miggy. I'm thinking of implementing the thread functionality with AmigaOS tasks. For now there are defines, #ifdef __amigaos4__, taking care of special stuff. Perhaps an entire new thread.c for AmigaOS...

Anyhow, I thought it might be good to compile for my x86 aswell, to see how its supposed to work. Then I also got to compile the classpath again.

Its rather encouraging actually being able to run something.

torsdag 17 september 2009

jamvm

Trying to compile jamvm on AmigaOS4.
I have a configure-line:

I also neede to define HAVE_SYS_PARAM_H 0 in src/config.h
#define HAVE_SYS_PARAM_H 0
#define USE_ZIP 0

alphasort had to be included in class.c:

int alphasort(const struct dirent **a, const struct dirent **b) {
return strcmp((*a)->d_name,(*b)->d_name);
}

Don't know if that is correct.

Then a few SIGs wasn't defined.