summaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/openjdk-8-cross.inc
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/openjdk/openjdk-8-cross.inc')
-rw-r--r--recipes-core/openjdk/openjdk-8-cross.inc200
1 files changed, 200 insertions, 0 deletions
diff --git a/recipes-core/openjdk/openjdk-8-cross.inc b/recipes-core/openjdk/openjdk-8-cross.inc
new file mode 100644
index 0000000..20ac194
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-8-cross.inc
@@ -0,0 +1,200 @@
1JDKPN = "openjdk-8"
2JREPN = "openjre-8"
3
4JDK_HOME = "${libdir_jvm}/${JDKPN}"
5JRE_HOME = "${libdir_jvm}/${JREPN}"
6
7DEPENDS = "\
8 openjdk-8-native zip-native ant-native libxslt \
9 jpeg libpng krb5 libffi fontconfig freetype \
10"
11
12PACKAGECONFIG ??= ""
13PACKAGECONFIG[x11] = "--with-x,,libx11 xproto libxt libxext libxrender"
14PACKAGECONFIG[cups] = "--with-cups,,cups"
15PACKAGECONFIG[alsa] = "--with-alsa,,alsa-lib-native"
16
17PACKAGECONFIG[jce] = "--enable-unlimited-crypto,,"
18
19PACKAGECONFIG[zip] = "--with-zlib=system,--with-zlib=bundled,zlib,"
20PACKAGECONFIG[gif] = "--with-giflib=system,--with-giflib=bundled,giflib,"
21
22export WANT_LLVM_RELEASE = "3.5.2"
23PACKAGECONFIG[zero] = "--with-jvm-variants=zero,,,"
24PACKAGECONFIG[shark] = "--with-jvm-variants=zeroshark,,llvm3.5,"
25
26require openjdk-8-common.inc
27
28JAVA_HOME[unexport] = "1"
29
30SRC_URI_append = "\
31 file://jvm.cfg \
32"
33
34# do not use --wth-extra-cflags, it breaks building demos for jdk
35# maybe disabling demos is more reasonable than avoiding --wth-extra-cflags
36# needs discussion
37EXTRA_OECONF_append = "\
38 --with-jobs=${@get_jdk8_native_jobs(d)} \
39 \
40 --with-sys-root=${STAGING_DIR} \
41 --with-tools-dir=${STAGING_DIR_NATIVE} \
42 --with-boot-jdk=${STAGING_LIBDIR_NATIVE}/jvm/openjdk-8-native \
43 --with-cacerts-file=${STAGING_LIBDIR_NATIVE}/jvm/openjdk-8-native/jre/lib/security/cacerts \
44 \
45 --disable-precompiled-headers \
46 --disable-zip-debug-info \
47 \
48 ${@jdk_configure_options(d)} \
49"
50
51do_configure_append() {
52 sed -i -e 's,POST_STRIP_CMD:=.*,POST_STRIP_CMD:=,g' ${B}/spec.gmk
53}
54
55export MAKE_VERBOSE = "y"
56export MFLAGS="${@jdk_make_options(d)} MAKE_VERBOSE=y QUIETLY= VERBOSE=-s LOG_LEVEL=trace STRIP_POLICY=no_strip"
57
58BUILD_LD="${BUILD_CCLD}"
59
60EXTRA_OEMAKE_append = '\
61 OE_CFLAGS="${CFLAGS}" \
62 OE_CPPFLAGS="${CPPFLAGS}" \
63 OE_CXXFLAGS="${CXXFLAGS}" \
64 OE_LDFLAGS="${LDFLAGS}" \
65 ${@jdk_make_options(d)} \
66 ALT_SDT_H="${STAGING_INCDIR}" \
67 ALT_CUPS_HEADERS_PATH="${STAGING_INCDIR}" \
68 ALT_FREETYPE_HEADERS_PATH="${STAGING_INCDIR}/freetype2" \
69 ALT_FREETYPE_LIB_PATH="${STAGING_LIBDIR}" \
70 STRIP_POLICY=no_strip \
71 MAKE_VERBOSE=y VERBOSE=-s LOG_LEVEL=trace \
72 QUIETLY= \
73 images \
74'
75
76FILES_${JREPN}_append = "\
77 ${JRE_HOME}/bin/[a-z]* \
78 ${JRE_HOME}/lib/[a-z]* \
79 ${JRE_HOME}/LICENSE \
80 ${JRE_HOME}/release \
81"
82
83FILES_${JDKPN}_append = "\
84 ${JDK_HOME}/bin/[a-z]* \
85 ${JDK_HOME}/lib/[a-z]* \
86 ${JDK_HOME}/jre/bin/[a-z]* \
87 ${JDK_HOME}/jre/lib/[a-z]* \
88 ${JDK_HOME}/LICENSE \
89 ${JDK_HOME}/jre/LICENSE \
90 ${JDK_HOME}/release \
91"
92
93FILES_${JDKPN}-dev_append = "\
94 ${JDK_HOME}/include \
95"
96
97FILES_${JDKPN}-dbg_append = "\
98 ${JDK_HOME}/bin/.debug/ \
99 ${JDK_HOME}/lib/.debug/ \
100 ${JDK_HOME}/lib/${JDK_ARCH}/.debug/ \
101 ${JDK_HOME}/lib/${JDK_ARCH}/jli/.debug/ \
102 ${JDK_HOME}/jre/bin/.debug/ \
103 ${JDK_HOME}/jre/lib/.debug/ \
104 ${JDK_HOME}/jre/lib/${JDK_ARCH}/.debug/ \
105 ${JDK_HOME}/jre/lib/${JDK_ARCH}/jli/.debug/ \
106 ${JDK_HOME}/jre/lib/${JDK_ARCH}/native_threads/.debug/ \
107 ${JDK_HOME}/jre/lib/${JDK_ARCH}/server/.debug/ \
108 ${JDK_HOME}/jre/lib/${JDK_ARCH}/headless/.debug/ \
109 ${JDK_HOME}/jre/lib/${JDK_ARCH}/xawt/.debug/ \
110 ${JDK_HOME}/jre/lib/${JDK_ARCH}/client/.debug/ \
111"
112
113FILES_${JREPN}-dbg_append = "\
114 ${JRE_HOME}/bin/.debug/ \
115 ${JRE_HOME}/lib/.debug/ \
116 ${JRE_HOME}/lib/${JDK_ARCH}/.debug/ \
117 ${JRE_HOME}/lib/${JDK_ARCH}/jli/.debug/ \
118 ${JRE_HOME}/lib/${JDK_ARCH}/server/.debug/ \
119"
120
121FILES_${JDKPN}-demo = " ${JDK_HOME}/demo ${JDK_HOME}/sample "
122RDEPENDS_${JDKPN}-demo = " ${JDKPN} "
123
124FILES_${JDKPN}-demo-dbg = "\
125 ${JDK_HOME}/demo/jvmti/gctest/lib/.debug/ \
126 ${JDK_HOME}/demo/jvmti/heapTracker/lib/.debug/ \
127 ${JDK_HOME}/demo/jvmti/heapViewer/lib/.debug/ \
128 ${JDK_HOME}/demo/jvmti/hprof/lib/.debug/ \
129 ${JDK_HOME}/demo/jvmti/minst/lib/.debug/ \
130 ${JDK_HOME}/demo/jvmti/mtrace/lib/.debug/ \
131 ${JDK_HOME}/demo/jvmti/versionCheck/lib/.debug/ \
132 ${JDK_HOME}/demo/jvmti/waiters/lib/.debug/ \
133 ${JDK_HOME}/demo/jvmti/compiledMethodLoad/lib/.debug/ \
134"
135
136FILES_${JDKPN}-doc_append = "\
137 ${JDK_HOME}/man \
138 ${JDK_HOME}/ASSEMBLY_EXCEPTION \
139 ${JDK_HOME}/THIRD_PARTY_README \
140 ${JDK_HOME}/jre/ASSEMBLY_EXCEPTION \
141 ${JDK_HOME}/jre/THIRD_PARTY_README \
142"
143FILES_${JREPN}-doc_append = "\
144 ${JRE_HOME}/man \
145 ${JRE_HOME}/ASSEMBLY_EXCEPTION \
146 ${JRE_HOME}/THIRD_PARTY_README \
147"
148
149FILES_${JDKPN}-source = " ${JDK_HOME}/src.zip "
150
151# Even though a vm is a hard dependency it is set as RRECOMMENDS so a single vm can get uninstalled:
152# root@beaglebone:~/java# opkg remove openjdk-7-vm-shark
153# No packages removed.
154# Collected errors:
155# * print_dependents_warning: Package openjdk-7-vm-shark is depended upon by packages:
156# * print_dependents_warning: openjdk-7-java
157# * print_dependents_warning: These might cease to work if package openjdk-7-vm-shark is removed.
158#RRECOMMENDS_${JDKPN}-java = "java2-vm"
159
160# There is a symlink to a .so but this one is valid.
161INSANE_SKIP_${JDKPN}-common = "dev-so"
162
163FILES_${JDKPN}-doc_append = "${JDK_HOME}/man"
164
165do_compile_append() {
166 find ${B}/images/j2sdk-image -name "*.jar" -print0 | \
167 xargs -0 -n1 ${STAGING_LIBDIR_NATIVE}/jvm/openjdk-8-native/bin/pack200 --repack --effort=9 --segment-limit=-1 --modification-time=latest
168 find ${B}/images/j2re-image -name "*.jar" -print0 | \
169 xargs -0 -n1 ${STAGING_LIBDIR_NATIVE}/jvm/openjdk-8-native/bin/pack200 --repack --effort=9 --segment-limit=-1 --modification-time=latest --strip-debug
170}
171
172do_install_jdk() {
173 rm -rf ${D}${JDK_HOME}
174 mkdir -p ${D}${JDK_HOME}
175 cp -rp ${B}/images/j2sdk-image/* ${D}${JDK_HOME}
176 install -m644 ${WORKDIR}/jvm.cfg ${D}${JDK_HOME}/jre/lib/${JDK_ARCH}/
177 find ${D}${JDK_HOME} -name "*.debuginfo" -print0 | xargs -0 rm
178}
179
180do_install_jre() {
181 rm -rf ${D}${JRE_HOME}
182 mkdir -p ${D}${JRE_HOME}
183 cp -rp ${B}/images/j2re-image/* ${D}${JRE_HOME}
184 install -m644 ${WORKDIR}/jvm.cfg ${D}${JRE_HOME}/lib/${JDK_ARCH}/
185 find ${D}${JRE_HOME} -name "*.debuginfo" -print0 | xargs -0 rm
186}
187
188inherit update-alternatives
189
190ALTERNATIVE_${JDKPN} = "java"
191ALTERNATIVE_TARGET_${JDKPN} = "${JDK_HOME}/bin/java"
192
193ALTERNATIVE_${JREPN} = "java"
194ALTERNATIVE_TARGET_${JREPN} = "${JRE_HOME}/bin/java"
195
196ALTERNATIVE_${JDKPN}-jdk = "javac"
197ALTERNATIVE_TARGET_${JDKPN}-jdk = "${JDK_HOME}/bin/javac"
198
199ALTERNATIVE_LINK_NAME[java] = "${bindir}/java"
200ALTERNATIVE_LINK_NAME[javac] = "${bindir}/javac"