OpenEmbedded/Yocto Project layer for Java support ================================================= This layer provides support for Java for use with OpenEmbedded and/or Yocto Project build systems. This layer depends on: URI: git://git.openembedded.org/openembedded-core branch: master revision: HEAD URI: git://git.openembedded.org/meta-openembedded branch: master revision: HEAD For use with a specific Yocto Project release please refer to the corresponding git branches. Contributing ------------ To contribute to this layer you should submit the patches for review to the mailing list (openembedded-devel@lists.openembedded.org). Please refer to: https://wiki.yoctoproject.org/wiki/Contribution_Guidelines#General_Information for some useful guidelines to be followed when submitting patches. Mailing list: http://lists.openembedded.org/mailman/listinfo/openembedded-devel Source code: git://git.yoctoproject.org/meta-java http://git.yoctoproject.org/git/meta-java When creating single patches, please use something like: git format-patch -M -s --subject-prefix='meta-java][PATCH' -1 When creating a patch series, please add a cover letter describing it shortly. Therefore use something like: git format-patch -M -s --cover-letter --subject-prefix='meta-java][PATCH' origin When sending patches, please use something like: git send-email --to openembedded-devel@lists.openembedded.org Main layer maintainers: Henning Heinold Maxin John Otavio Salvador Richard Leitner Testing ------- The meta-java layer may be tested using oeqa's runtime image tests. The easiest way is to add the following configuration to your local.conf: SANITY_TESTED_DISTROS = "" TESTIMAGE_AUTO = "1" Then you should be able to use the open{jre,jdk}-{7,8}-test-image recipes. Furthermore you could also include the tests provided in lib/oeqa/runtime/cases into your test image. More information on image testing is available at: https://wiki.yoctoproject.org/wiki/Image_tests Known Limitations/Bugs ---------------------- + OpenJDK-7 doesn't support musl based images + Both, OpenJDK-7 and 8 doesn't support mips and mips64 machines + Further limitations are shown in the OpenJDK version/libc/target architecture support matrix below: +--------+-----------------+-----------------+-----------------+ | | OpenJDK-7/glibc | OpenJDK-8/glibc | OpenJDK-8/musl | +--------+-----------------+-----------------+-----------------+ | arm | O K | int. mode | int. mode | +--------+-----------------+-----------------+-----------------+ | armv7 | O K | O K | O K | +--------+-----------------+-----------------+-----------------+ | arm64 | int. mode | O K | O K | +--------+-----------------+-----------------+-----------------+ | x86 | int. mode | O K | build failure | +--------+-----------------+-----------------+-----------------+ | x86-64 | int. mode | O K | O K | +--------+-----------------+-----------------+-----------------+ | ppc | int. mode | build failure | build failure | +--------+-----------------+-----------------+-----------------+ If you encounter any other problems or bugs please report them to our mailing list at openembedded-devel@lists.openembedded.org. Usage instructions ------------------ You should define at least the following variables in a distro include file or local.conf # Possible provider: cacao-initial-native and jamvm-initial-native PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native" # Possible provider: cacao-native and jamvm-native PREFERRED_PROVIDER_virtual/java-native = "jamvm-native" # Optional since there is only one provider for now PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native" Simply rely on openjdk-7-jre, openjdk-7, openjdk-8 or openjre-8. For conf/bblayers.conf you have to add BBLAYERS ?= " \ ... path_to_source/meta-openembedded/meta-oe \ path_to_source/sources/meta-java \ " Please note that libstdc++ static is needed on your host to compile icedtea7-native (install libstdc++-static on a Fedora). For debian-based distributions you need the libstdc++6-$compilerversion-dev package.