diff options
Diffstat (limited to 'recipes-core/openjdk/openjdk-8-cross.inc')
-rw-r--r-- | recipes-core/openjdk/openjdk-8-cross.inc | 200 |
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 @@ | |||
1 | JDKPN = "openjdk-8" | ||
2 | JREPN = "openjre-8" | ||
3 | |||
4 | JDK_HOME = "${libdir_jvm}/${JDKPN}" | ||
5 | JRE_HOME = "${libdir_jvm}/${JREPN}" | ||
6 | |||
7 | DEPENDS = "\ | ||
8 | openjdk-8-native zip-native ant-native libxslt \ | ||
9 | jpeg libpng krb5 libffi fontconfig freetype \ | ||
10 | " | ||
11 | |||
12 | PACKAGECONFIG ??= "" | ||
13 | PACKAGECONFIG[x11] = "--with-x,,libx11 xproto libxt libxext libxrender" | ||
14 | PACKAGECONFIG[cups] = "--with-cups,,cups" | ||
15 | PACKAGECONFIG[alsa] = "--with-alsa,,alsa-lib-native" | ||
16 | |||
17 | PACKAGECONFIG[jce] = "--enable-unlimited-crypto,," | ||
18 | |||
19 | PACKAGECONFIG[zip] = "--with-zlib=system,--with-zlib=bundled,zlib," | ||
20 | PACKAGECONFIG[gif] = "--with-giflib=system,--with-giflib=bundled,giflib," | ||
21 | |||
22 | export WANT_LLVM_RELEASE = "3.5.2" | ||
23 | PACKAGECONFIG[zero] = "--with-jvm-variants=zero,,," | ||
24 | PACKAGECONFIG[shark] = "--with-jvm-variants=zeroshark,,llvm3.5," | ||
25 | |||
26 | require openjdk-8-common.inc | ||
27 | |||
28 | JAVA_HOME[unexport] = "1" | ||
29 | |||
30 | SRC_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 | ||
37 | EXTRA_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 | |||
51 | do_configure_append() { | ||
52 | sed -i -e 's,POST_STRIP_CMD:=.*,POST_STRIP_CMD:=,g' ${B}/spec.gmk | ||
53 | } | ||
54 | |||
55 | export MAKE_VERBOSE = "y" | ||
56 | export MFLAGS="${@jdk_make_options(d)} MAKE_VERBOSE=y QUIETLY= VERBOSE=-s LOG_LEVEL=trace STRIP_POLICY=no_strip" | ||
57 | |||
58 | BUILD_LD="${BUILD_CCLD}" | ||
59 | |||
60 | EXTRA_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 | |||
76 | FILES_${JREPN}_append = "\ | ||
77 | ${JRE_HOME}/bin/[a-z]* \ | ||
78 | ${JRE_HOME}/lib/[a-z]* \ | ||
79 | ${JRE_HOME}/LICENSE \ | ||
80 | ${JRE_HOME}/release \ | ||
81 | " | ||
82 | |||
83 | FILES_${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 | |||
93 | FILES_${JDKPN}-dev_append = "\ | ||
94 | ${JDK_HOME}/include \ | ||
95 | " | ||
96 | |||
97 | FILES_${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 | |||
113 | FILES_${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 | |||
121 | FILES_${JDKPN}-demo = " ${JDK_HOME}/demo ${JDK_HOME}/sample " | ||
122 | RDEPENDS_${JDKPN}-demo = " ${JDKPN} " | ||
123 | |||
124 | FILES_${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 | |||
136 | FILES_${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 | " | ||
143 | FILES_${JREPN}-doc_append = "\ | ||
144 | ${JRE_HOME}/man \ | ||
145 | ${JRE_HOME}/ASSEMBLY_EXCEPTION \ | ||
146 | ${JRE_HOME}/THIRD_PARTY_README \ | ||
147 | " | ||
148 | |||
149 | FILES_${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. | ||
161 | INSANE_SKIP_${JDKPN}-common = "dev-so" | ||
162 | |||
163 | FILES_${JDKPN}-doc_append = "${JDK_HOME}/man" | ||
164 | |||
165 | do_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 | |||
172 | do_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 | |||
180 | do_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 | |||
188 | inherit update-alternatives | ||
189 | |||
190 | ALTERNATIVE_${JDKPN} = "java" | ||
191 | ALTERNATIVE_TARGET_${JDKPN} = "${JDK_HOME}/bin/java" | ||
192 | |||
193 | ALTERNATIVE_${JREPN} = "java" | ||
194 | ALTERNATIVE_TARGET_${JREPN} = "${JRE_HOME}/bin/java" | ||
195 | |||
196 | ALTERNATIVE_${JDKPN}-jdk = "javac" | ||
197 | ALTERNATIVE_TARGET_${JDKPN}-jdk = "${JDK_HOME}/bin/javac" | ||
198 | |||
199 | ALTERNATIVE_LINK_NAME[java] = "${bindir}/java" | ||
200 | ALTERNATIVE_LINK_NAME[javac] = "${bindir}/javac" | ||