summaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/openjdk-14-common.inc
diff options
context:
space:
mode:
authorRichard Leitner <richard.leitner@skidata.com>2020-04-21 13:00:22 +0200
committerRichard Leitner <richard.leitner@skidata.com>2020-11-09 14:29:49 +0100
commitf66b83882e076f339dd89e88165bd7bac121f9ff (patch)
treeca7eafceb9735f4c5cb5d2d574bf94b42d6c29b6 /recipes-core/openjdk/openjdk-14-common.inc
parent6e84638d77ac921aac46649095bca5ddbde94d2a (diff)
downloadmeta-java-f66b83882e076f339dd89e88165bd7bac121f9ff.tar.gz
openjdk-14: add 14.0.1g0hl1n/jdk14
Add support for OpenJDK and OpenJRE v14.0.1. This version of OpenJDK is bootstrapped from a host-provided JDK. The host provided JDK is used to build openjdk-14-native. The native build is then used as build-jdk for the cross version. Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
Diffstat (limited to 'recipes-core/openjdk/openjdk-14-common.inc')
-rw-r--r--recipes-core/openjdk/openjdk-14-common.inc155
1 files changed, 155 insertions, 0 deletions
diff --git a/recipes-core/openjdk/openjdk-14-common.inc b/recipes-core/openjdk/openjdk-14-common.inc
new file mode 100644
index 0000000..36451b8
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-14-common.inc
@@ -0,0 +1,155 @@
1# Copyright (C) 2020 Richard Leitner <richard.leitner@skidata.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMMARY = "Java runtime based upon the OpenJDK Project"
5HOMEPAGE = "http://openjdk.java.net/"
6LICENSE = "GPL-2.0-with-classpath-exception"
7
8LIC_FILES_CHKSUM = "file://LICENSE;md5=3e0b59f8fac05c3c03d4a26bbda13f8f"
9
10DEPENDS = "\
11 alsa-lib \
12 bash \
13 fontconfig \
14 freetype \
15 giflib \
16 jpeg \
17 libpng \
18 libx11 xorgproto libxt libxext libxrender libxtst libxrandr \
19 unzip-native \
20 zip-native \
21 zlib \
22 "
23
24DEPENDS_append_class-target = "\
25 cups \
26 openjdk-14-native \
27 "
28
29SRC_URI = "\
30 https://hg.openjdk.java.net/jdk-updates/jdk14u/archive/jdk-${PV}-ga.tar.bz2;name=jdk \
31 file://0001-make-autoconf-remove-hard-dependency-on-cups.patch \
32 file://0002-make-autoconf-toolchain-remove-invalid-compiler-chec.patch \
33 "
34
35S = "${WORKDIR}/jdk14u-jdk-${PV}-ga"
36
37require openjdk-common.inc
38
39JAVA_HOME = "${libdir_jvm}/${PN}"
40
41AUTOTOOLS_SCRIPT_PATH = "${S}/make/autoconf"
42
43EXTRA_OECONF_append = "\
44 --with-jobs=${@openjdk_build_helper_get_parallel_make(d)} \
45 --with-tools-dir='${STAGING_DIR_NATIVE}' \
46 --with-extra-cflags='${CFLAGS}' \
47 --with-extra-cxxflags='${CXXFLAGS}' \
48 --with-extra-ldflags='${LDFLAGS}' \
49 --with-alsa-include='${STAGING_INCDIR}/alsa' \
50 --with-alsa-lib='${STAGING_LIBDIR}' \
51 --with-fontconfig-include='${STAGING_INCDIR}' \
52 --with-freetype-include='${STAGING_INCDIR}/freetype2' \
53 --with-freetype-lib='${STAGING_LIBDIR}' \
54 --with-giflib=bundled \
55 --with-libjpeg=bundled \
56 --with-libpng=bundled \
57 --with-zlib=bundled \
58 --x-includes='${STAGING_INCDIR}/X11' \
59 --x-libraries='${STAGING_LIBDIR}' \
60 --with-vendor-name='meta-java' \
61 --disable-manpages \
62 --disable-warnings-as-errors \
63 "
64
65CONFIGUREOPTS_remove_class-native = "--host=${HOST_SYS}"
66CONFIGUREOPTS_remove_class-native = "--target=${TARGET_SYS}"
67
68EXTRA_OECONF_append_class-native = "\
69 --with-boot-jdk='${OPENJDK14_BOOT_JDK}' \
70 --enable-headless-only \
71 --enable-openjdk-only \
72 --without-cups \
73 "
74
75EXTRA_OECONF_append_class-target = "\
76 --with-sys-root='${STAGING_DIR_HOST}' \
77 --with-boot-jdk='${STAGING_LIBDIR_NATIVE}/jvm/openjdk-14-native' \
78 "
79
80do_patch_append() {
81 bb.build.exec_func('do_fix_configure', d)
82}
83
84do_fix_configure() {
85 chmod a+x ${S}/configure
86}
87
88do_configure_prepend () {
89 export TOPDIR=${S}
90 export CXXFILT="c++filt"
91 unset CFLAGS CXXFLAGS LDFLAGS
92}
93
94EXTRA_OEMAKE_append = '\
95 STRIP_POLICY=no_strip \
96 QUIETLY= \
97 jdk-image \
98 legacy-jre-image \
99'
100
101do_install() {
102 rm -rf ${D}${JAVA_HOME}
103 mkdir -p ${D}${JAVA_HOME}
104 if [[ "${PN}" = openjre* ]]; then
105 cp -rp ${B}/images/jre/* ${D}${JAVA_HOME}
106 else
107 cp -rp ${B}/images/jdk/* ${D}${JAVA_HOME}
108 fi
109 chown -R root:root ${D}${JAVA_HOME}
110 #install -m644 ${WORKDIR}/jvm.cfg ${D}${JAVA_HOME}/jre/lib/${JDK_ARCH}/
111 find ${D}${JAVA_HOME} -name "*.debuginfo" -exec rm {} \;
112}
113
114PACKAGES_append = " \
115 ${PN}-demo \
116 ${PN}-jmods \
117"
118
119FILES_${PN}-demo = " ${JAVA_HOME}/demo ${JAVA_HOME}/sample "
120FILES_${PN}-jmods = " ${JAVA_HOME}/jmods "
121
122FILES_${PN}_append = "\
123 ${JAVA_HOME}/bin/[a-z]* \
124 ${JAVA_HOME}/lib/[a-z]* \
125 ${JAVA_HOME}/jre/bin/[a-z]* \
126 ${JAVA_HOME}/jre/lib/[a-z]* \
127 ${JAVA_HOME}/LICENSE \
128 ${JAVA_HOME}/jre/LICENSE \
129 ${JAVA_HOME}/release \
130 ${JAVA_HOME}/conf \
131"
132
133FILES_${PN}-dev_append = "\
134 ${JAVA_HOME}/include \
135"
136
137FILES_${PN}-doc_append = "\
138 ${JAVA_HOME}/man \
139 ${JAVA_HOME}/ASSEMBLY_EXCEPTION \
140 ${JAVA_HOME}/THIRD_PARTY_README \
141 ${JAVA_HOME}/jre/ASSEMBLY_EXCEPTION \
142 ${JAVA_HOME}/jre/THIRD_PARTY_README \
143 ${JAVA_HOME}/legal \
144"
145
146inherit update-alternatives
147
148ALTERNATIVE_PRIORITY = "100"
149
150ALTERNATIVE_openjdk-14 = "java javac"
151ALTERNATIVE_openjre-14 = "java"
152ALTERNATIVE_LINK_NAME[java] = "${bindir}/java"
153ALTERNATIVE_TARGET[java] = "${JAVA_HOME}/bin/java"
154ALTERNATIVE_LINK_NAME[javac] = "${bindir}/javac"
155ALTERNATIVE_TARGET[javac] = "${JAVA_HOME}/bin/javac"