[oe] [meta-java]: java and javac in path provided by cocao and ecj

Pascal Bach pascal.bach at siemens.com
Tue Sep 6 09:35:46 UTC 2016


Hi


While diving into meta-java I noticed the following.

The java version that is found by default in an SDK is provided by cacao-native and the javac version by ecj-native.
Both of these are very old and I get errors if I try to compile newer java packages as for example Ant 1.9.7.

I was wondering if this is intentional and there is something I'm missing.

In my opinion it would be better if java and javac were provided by recent JDK/JRE like OpenJDK 8.
So in relation to my proposal to unify the virtual/java handling I think it would make sense to clean up the java bootstrapping too.

The proposal is to not have anything from the bootstrapping process in the PATH. This means no javac from ecj not old versions of ant, no IcedTea 7 binaries.
But only the final openjdk-8-native binaries that also provide virtual/jdk8-native. I guess this would mean to move all the boostrap components to a different filesystem location maybe under {sysroot_native}/opt somewhere. IceadTea already seems build up kind of a fake-jdk by linking the binaries. So instead of doing that ecj and cacoa could directly install to {sysroot_native}/opt/java-bootstrap and IceadTea can then use that. Also other bootstrap packages like old ant version could go to that location.

I attached a graphic that tries to explain how the new bootstrap process could look like and where a host provided java would fit into that process.

Does this make sense or am I completely off?

Pascal


-------------- next part --------------
A non-text attachment was scrubbed...
Name: Java Bootstrap.png
Type: image/png
Size: 56808 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20160906/b83320b2/attachment-0002.png>


More information about the Openembedded-devel mailing list