Skip to content

chargeITmobility/meta-java

 
 

Repository files navigation

OpenEmbedded/YoctoProject layer for Java support

This layer provides support for Java for use with OpenEmbedded and/or Yocto Project build systems.

Dependencies

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.

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 = ""
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

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.
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].

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 \
  "

Build host dependencies

  • gcc >= v6
  • libstdc++ static

About

OpenEmbedded/YoctoProject layer for Java support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • BitBake 40.9%
  • C++ 19.5%
  • Roff 15.2%
  • NASL 11.0%
  • PHP 4.2%
  • Clojure 3.5%
  • Other 5.7%