On 19/03/2008, Chris Burdess <dog@xxxxxxxxxxx> wrote: > Robert Schuster wrote: > > >> Okay this is something that has confused me. classpath seems to have a > > >> dependency on jamvm, but jamvm seems to have a dependency on > > >> classpath. How is this not circular? > > >> > > > > > > It is circular. Such is life with Java (OpenJDK also needs a JDK to > > > compile FWIW). To bootstrap, you can use gcj/gij to run ecj. Many > > > distros (e.g. debian) ship with a native version of ecj that runs > > > using gcj. > > The completely self-hosting GNU Classpath and Cacao/JamVM recipes in > > OpenEmbedded do exactly that: > > > > jikes 1.21 -> classpath 0.93 -> cacao 0.98 or jamvm 1.5.0 -> ecj -> > > classpath 0.9x (x >= 5) -> cacao 0.98+hg20071001 (or newer) > > > This is completely bonkers. We need to have a working java 1.5 compiler > without a dependency on a JVM. > -- > > Chris Burdess > > Well, feel free to write one... :) More seriously, as Andrew says, this is already a problem for other languages too like C. Bootstrapping isn't always that simple. Java actually has it slightly easier because you have a platform-neutral binary (the class file). -- Andrew :-) Document Freedom Day - March 26th http://documentfreedom.org Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8