I have ports of the JDK 1.0 using Green threads, pthreads, and uthreads.
This port I'm releasing uses Green threads and is robust enough to
recompile itself correctly.
1. Grab ftp.javasoft.com:JDK-1_0-solaris2-sparc.tar.Z.
2. Grab freefall.FreeBSD.org:/pub/FreeBSD/LOCAL_PORTS/jdk10.tar.gz.
3. Untar the solaris binary distribution.
4. Move aside bin/ and untar the FreeBSD distribution.
5. Install the pdksh port.
Running the JDK
If your JDK directory is rooted at <jdk>, you need to set
1. your path to include the <jdk>/bin directory
2. CLASSPATH environment variable to .:<jdk>/lib/classes.zip
3. LD_LIBRARY_PATH to include <jdk>/lib/i386
Then to compile a java program, invoke 'javac program.java'.
To run it, use 'java <name of main class>'.
This port is kind of flacky and I hesitate to release it, but it
does meet my long-stated criteria of being self-hosting. The
problems are related to the kludgy work-around I used to
get around not having weak symbols and dlsym(RTLD_NEXT). The
pthreads port does not have this problem, so the next release may
use that instead, but I'm leaning towards fixing up the underlying
operating system rather than working around it. The next release
will come when I get appletviewer to work.
How you can help
We could use a full-featured dlsym() which understands RTLD_NEXT.
Weak symbols would help a lot too. There are people already working
on the linker, so please coordinate with them if you decide to go
work on this.