aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaiqing Bai <Haiqing.Bai@windriver.com>2017-11-02 16:33:12 +0800
committerOtavio Salvador <otavio@ossystems.com.br>2017-12-22 10:28:27 -0200
commitb2e309882732f3566f0459b0654b99b3e9bf9d25 (patch)
treec8dda7f61d9a80f2fcdb685bf4e4c446f1629a4d
parent03e35bf64f97980652ac532cca0ea96e730a551c (diff)
downloadmeta-java-b2e309882732f3566f0459b0654b99b3e9bf9d25.tar.gz
meta-java-b2e309882732f3566f0459b0654b99b3e9bf9d25.tar.bz2
meta-java-b2e309882732f3566f0459b0654b99b3e9bf9d25.zip
openjdk-8-native, icedtea7-native: use JAVA_TOOL_OPTIONS from environment
Solution on how to be able to build openjdk for a build host that need the environment variable JAVA_TOOL_OPTIONS. Use JAVA_TOOL_OPTIONS from environment. On some machines this is needed in order to start java when the amount of RAM is limited for the user. Author: Peter Bergin <peter.bergin@windriver.com> Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com> Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-rw-r--r--recipes-core/icedtea/icedtea7-native.inc4
-rw-r--r--recipes-core/openjdk/openjdk-8-native.inc10
-rw-r--r--recipes-core/openjdk/patches-openjdk-8/handle_extra_output.patch17
3 files changed, 31 insertions, 0 deletions
diff --git a/recipes-core/icedtea/icedtea7-native.inc b/recipes-core/icedtea/icedtea7-native.inc
index 7d625eb..d4cf7ac 100644
--- a/recipes-core/icedtea/icedtea7-native.inc
+++ b/recipes-core/icedtea/icedtea7-native.inc
@@ -170,6 +170,10 @@ EXTRA_OEMAKE = ' \
'
do_compile() {
+ # Use JAVA_TOOL_OPTIONS from environment. On some machines this is needed
+ # in order to start java when the amount of RAM is limited for the user.
+ export JAVA_TOOL_OPTIONS="${JAVA_TOOL_OPTIONS}"
+
# OpenJDK uses slightly different names for certain arches. We need to know
# this to create some files which are expected by the build.
case "${TRANSLATED_TARGET_ARCH}" in
diff --git a/recipes-core/openjdk/openjdk-8-native.inc b/recipes-core/openjdk/openjdk-8-native.inc
index fd97eff..20e1743 100644
--- a/recipes-core/openjdk/openjdk-8-native.inc
+++ b/recipes-core/openjdk/openjdk-8-native.inc
@@ -9,6 +9,8 @@ DEPENDS = "\
ca-certificates-native openssl-native coreutils-native \
"
+SRC_URI_append += "file://handle_extra_output.patch"
+
PACKAGECONFIG ??= ""
PACKAGECONFIG[x11] = "--with-x,,libx11-native xproto-native libxt-native libxext-native libxrender-native"
PACKAGECONFIG[cups] = "--with-cups,,cups"
@@ -47,6 +49,14 @@ EXTRA_OEMAKE_append = ' \
images \
'
+do_configure_prepend() {
+ export JAVA_TOOL_OPTIONS="${JAVA_TOOL_OPTIONS}"
+}
+
+do_compile_prepend() {
+ export JAVA_TOOL_OPTIONS="${JAVA_TOOL_OPTIONS}"
+}
+
do_compile_append() {
set -x
mkdir -p ${B}/certs
diff --git a/recipes-core/openjdk/patches-openjdk-8/handle_extra_output.patch b/recipes-core/openjdk/patches-openjdk-8/handle_extra_output.patch
new file mode 100644
index 0000000..52aad95
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-8/handle_extra_output.patch
@@ -0,0 +1,17 @@
+When adding the environment variable JAVA_TOOL_OPTIONS an extra line
+in the output from 'java -version' is produced. As this output is
+parsed by configure script the extra line has to be filtered out.
+
+Index: jdk8u-e8bed1496ff2/common/autoconf/boot-jdk.m4
+===================================================================
+--- jdk8u-e8bed1496ff2.orig/common/autoconf/boot-jdk.m4
++++ jdk8u-e8bed1496ff2/common/autoconf/boot-jdk.m4
+@@ -51,7 +51,7 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
+ BOOT_JDK_FOUND=no
+ else
+ # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version?
+- BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
++ BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | grep -v JAVA_TOOL_OPTIONS | head -n 1`
+
+ # Extra M4 quote needed to protect [] in grep expression.
+ [FOUND_VERSION_78=`echo $BOOT_JDK_VERSION | grep '\"1\.[78]\.'`]