This layer provides support for Java for use with OpenEmbedded and/or Yocto Project build systems.
This layer depends on:
-
openembedded-core
- URI: git://git.openembedded.org/openembedded-core
- branch: master
-
meta-oe
- URI: git://git.openembedded.org/meta-openembedded
- sub-layer: meta-oe
- branch: master
Furthermore for oeqa runtime testing this layer also depends on:
- meta-poky
- URI: git://git.yoctoproject.org/poky
- sub-layer: meta-poky
- branch: master
For use with a specific Yocto Project release please refer to the corresponding git branches.
Guides on how to contribute to meta-java are described in CONTRIBUTING.md.
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 = ""
INHERIT += "testimage"
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
- 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.
ARCH | 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 [email protected].
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 \
"
- gcc >= v6
- libstdc++ static