aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 031709e5308892ff8b7c64e662f20bcddbf6237a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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 <generated patch(es)>

Main layer maintainers:

  Henning Heinold <henning@itconsulting-heinold.de>
  Maxin John <maxin.john@intel.com>
  Otavio Salvador <otavio@ossystems.com.br>
  Richard Leitner <richard.leitner@skidata.com>

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