> From: Brian Jones
>
>
> Found a few problems with what make dist gives us.
>
> 1. The native stuff needs those jni headers (or some kind of headers)
> 2. May want to remove .deps from lib in CVS (require developers to
> have JavaDeps-1.0.4)
If you're removing generated files from CVS, could you look at the toplevel
directory? I know there were a few weird things in there before, like
Makefile.in or something.
> 3. May want to remove glibj.zip from EXTRA_DIST in lib/Makefile.am
> How to handle the chicken and egg? Assuming you downloaded Japhar
> and confifigured it for classpath, you would not have a working VM
> until GNU Classpath was also installed. Hence we have to
> distribute a jar/zip for at least one VM, probably Japhar.
We appear to have concluded that you already have to have some sort of
working VM to compile Classpath. No chicken and egg problem, you are
required to have to have the chicken in hand :) When non-Java tools become
available to do the three things we want (javac, javah, javadep), that
requirement should go away. I think you've done a good job with the build
process so that the transition will be easy.
Distributing a JAR/ZIP would not be quite enough. You need native libs too,
and I don't think we really want to distribute native code binaries just
yet. Last time we talked about the chicken-egg dist problem, the best build
procedure I heard to make us totally self-sufficient was this:
1. Download the Classpath and Japhar JAR/ZIP files from the websites.
2. Get Classpath and Japhar CVS.
3. Compile Japhar.
4. Compile Classpath native libs. (Note: unless we have a non-Java "javah"
program, this is impossible.)
--At this point, you have all the pieces for a working VM.
5. Compile Classpath glibj.jar. (Uses javac and
IMHO, we shouldn't be using Java tools at all in the build, but that's
apparently all that's out there. Pray Jikes is really free. That solves
the javadep and javac problems, and (I don't know about this) maybe the
javah problem.
--John