The following changes were made in the previous commit.
- Use ECJ 3.8 instead of 4.2. This simplifies and add more Eclipse mirrors.
They are actually the same compilers released with different Eclipse JDTs.
- Add an option to build gjdoc.
- Add an option to build with GMP, which enables java.math.BigInteger.
- Add an option to build with native JDK. When it is turned off, ECJ or GCJ
(when WITH_GCJ is defined) is used for glibj.zip. Note ECJ (with gij) and
GCJ can compile classpath perfectly fine on FreeBSD 9 and later but it seems
libgcj interacts badly with 7 and 8. Need more investigation.
- Reduce unnecessary dependencies. zip is not used when "--with-jar" is
specified. Use pre-built ANTLR jar file, which is only used for gjdoc.
Remove JDK run-time dependency because it is only necessary to execute tools
and these tools are actually wrappers. Now we just execute them with javavm
wrapper (or user-specified VM when JAVACMD environment variable is set).
Note you need a valid JVM to run these commands now.
- Add a patch to fix an ugly JAR updater bug. Without this, the file name
must include "/" in it, e.g., "gjar i ./glibj.zip".
- Fix conflicts with java/classpath. Note security provider configuration
is moved to ${PREFIX}/lib/security/SableVM.security. This file is always
loaded first because the short vendor name is SableVM. If it does not
exist, then classpath.security is loaded (java/security/Security.java).
- Reduce Makefile headers, add licenses, and convert to optionsNG.