summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndré Draszik <andre.draszik@jci.com>2018-08-13 16:09:17 +0100
committerRichard Leitner <dev@g0hl1n.net>2018-08-13 22:52:44 +0200
commit3c710bf3a90fde0cf6d590ffefc349bfb9a1c677 (patch)
tree19ae03f9fe7ff972135093b859e0be909e40f4e9
parentd359ad5ad46c77c183573ce601f03d868eb983bf (diff)
downloadmeta-java-3c710bf3a90fde0cf6d590ffefc349bfb9a1c677.tar.gz
java.bbclass: move openjdk/icedtea specific code into new class
The code moved is not relevant to anything using java, just for compiling java itself. It doesn't make sense to have here. Move it into openjdk-build-helper Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
-rw-r--r--classes/java.bbclass17
-rw-r--r--classes/openjdk-build-helper.bbclass16
-rw-r--r--recipes-core/icedtea/icedtea7-native.inc3
-rw-r--r--recipes-core/openjdk/openjdk-7-common.inc2
-rw-r--r--recipes-core/openjdk/openjdk-8-common.inc1
-rw-r--r--recipes-core/openjdk/openjdk-8-cross.inc2
-rw-r--r--recipes-core/openjdk/openjdk-8-native.inc2
-rw-r--r--recipes-core/openjdk/openjdk-common.inc1
8 files changed, 23 insertions, 21 deletions
diff --git a/classes/java.bbclass b/classes/java.bbclass
index aa012ab..fc97295 100644
--- a/classes/java.bbclass
+++ b/classes/java.bbclass
@@ -21,23 +21,6 @@ STAGING_DATADIR_JAVA_NATIVE ?= "${STAGING_DATADIR_NATIVE}/java"
21STAGING_LIBDIR_JNI_NATIVE ?= "${STAGING_LIBDIR_NATIVE}/jni" 21STAGING_LIBDIR_JNI_NATIVE ?= "${STAGING_LIBDIR_NATIVE}/jni"
22STAGING_LIBDIR_JVM_NATIVE ?= "${STAGING_LIBDIR_NATIVE}/jvm" 22STAGING_LIBDIR_JVM_NATIVE ?= "${STAGING_LIBDIR_NATIVE}/jvm"
23 23
24# Icedtea's makefile is not compatible to parallelization so we cannot allow
25# passing a valid ${PARALLEL_MAKE} to it. OTOH OpenJDK's makefiles are
26# parallelizable and we need ${PARALLEL_MAKE} to derive the proper value.
27# The base for this quirk is that GNU Make only considers the last "-j" option.
28EXTRA_OEMAKE_remove_task-compile = "${PARALLEL_MAKE}"
29EXTRA_OEMAKE_remove_task-install = "${PARALLEL_MAKEINST}"
30
31# OpenJDK supports parallel compilation but uses a plain number for this.
32# In OE we have PARALLEL_MAKE which is the actual option passed to make,
33# e.g. "-j 4".
34def java_get_parallel_make(d):
35 pm = d.getVar('PARALLEL_MAKE', True);
36 if not pm or '-j' not in pm:
37 return 1
38
39 return pm.partition('-j')[2].strip().split(' ')[0]
40
41oe_jarinstall() { 24oe_jarinstall() {
42 # Purpose: Install a jar file and create all the given symlinks to it. 25 # Purpose: Install a jar file and create all the given symlinks to it.
43 # Example: 26 # Example:
diff --git a/classes/openjdk-build-helper.bbclass b/classes/openjdk-build-helper.bbclass
new file mode 100644
index 0000000..785ddf0
--- /dev/null
+++ b/classes/openjdk-build-helper.bbclass
@@ -0,0 +1,16 @@
1# Icedtea's makefile is not compatible to parallelization so we cannot allow
2# passing a valid ${PARALLEL_MAKE} to it. OTOH OpenJDK's makefiles are
3# parallelizable and we need ${PARALLEL_MAKE} to derive the proper value.
4# The base for this quirk is that GNU Make only considers the last "-j" option.
5EXTRA_OEMAKE_remove_task-compile = "${PARALLEL_MAKE}"
6EXTRA_OEMAKE_remove_task-install = "${PARALLEL_MAKEINST}"
7
8# OpenJDK supports parallel compilation but uses a plain number for this.
9# In OE we have PARALLEL_MAKE which is the actual option passed to make,
10# e.g. "-j 4".
11def openjdk_build_helper_get_parallel_make(d):
12 pm = d.getVar('PARALLEL_MAKE', True);
13 if not pm or '-j' not in pm:
14 return 1
15
16 return pm.partition('-j')[2].strip().split(' ')[0]
diff --git a/recipes-core/icedtea/icedtea7-native.inc b/recipes-core/icedtea/icedtea7-native.inc
index 93463be..30fb24a 100644
--- a/recipes-core/icedtea/icedtea7-native.inc
+++ b/recipes-core/icedtea/icedtea7-native.inc
@@ -25,6 +25,7 @@ CXXFLAGS_append = " -fno-tree-dse"
25CXX_append = " -std=gnu++98" 25CXX_append = " -std=gnu++98"
26 26
27inherit native java autotools pkgconfig 27inherit native java autotools pkgconfig
28inherit openjdk-build-helper
28 29
29JAVA_HOME[unexport] = "1" 30JAVA_HOME[unexport] = "1"
30 31
@@ -58,7 +59,7 @@ export ALT_FREETYPE_LIB_PATH = "${STAGING_LIBDIR}"
58INSANE_SKIP_${PN} = "already-stripped" 59INSANE_SKIP_${PN} = "already-stripped"
59 60
60EXTRA_OECONF = "\ 61EXTRA_OECONF = "\
61 --with-parallel-jobs=${@java_get_parallel_make(d)} \ 62 --with-parallel-jobs=${@openjdk_build_helper_get_parallel_make(d)} \
62 \ 63 \
63 --disable-tests \ 64 --disable-tests \
64 --disable-hotspot-tests \ 65 --disable-hotspot-tests \
diff --git a/recipes-core/openjdk/openjdk-7-common.inc b/recipes-core/openjdk/openjdk-7-common.inc
index 1ac3154..0ef6758 100644
--- a/recipes-core/openjdk/openjdk-7-common.inc
+++ b/recipes-core/openjdk/openjdk-7-common.inc
@@ -84,7 +84,7 @@ EXTRA_OECONF = " \
84 --with-jdk-src-zip=${WORKDIR}/${JDK_FILE} \ 84 --with-jdk-src-zip=${WORKDIR}/${JDK_FILE} \
85 --with-langtools-src-zip=${WORKDIR}/${LANGTOOLS_FILE} \ 85 --with-langtools-src-zip=${WORKDIR}/${LANGTOOLS_FILE} \
86 \ 86 \
87 --with-parallel-jobs=${@java_get_parallel_make(d)} \ 87 --with-parallel-jobs=${@openjdk_build_helper_get_parallel_make(d)} \
88 \ 88 \
89 --with-pkgversion=${PV} \ 89 --with-pkgversion=${PV} \
90 --with-cc-for-build=${BUILD_CC} \ 90 --with-cc-for-build=${BUILD_CC} \
diff --git a/recipes-core/openjdk/openjdk-8-common.inc b/recipes-core/openjdk/openjdk-8-common.inc
index 6b2f5e7..0c77d7c 100644
--- a/recipes-core/openjdk/openjdk-8-common.inc
+++ b/recipes-core/openjdk/openjdk-8-common.inc
@@ -5,6 +5,7 @@ LICENSE = "GPL-2.0-with-classpath-exception"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=3e0b59f8fac05c3c03d4a26bbda13f8f" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=3e0b59f8fac05c3c03d4a26bbda13f8f"
6 6
7inherit java autotools gettext qemu pkgconfig 7inherit java autotools gettext qemu pkgconfig
8inherit openjdk-build-helper
8 9
9AUTOTOOLS_SCRIPT_PATH = "${S}/common/autoconf/" 10AUTOTOOLS_SCRIPT_PATH = "${S}/common/autoconf/"
10export AUTOCONF_DIR="${AUTOTOOLS_SCRIPT_PATH}" 11export AUTOCONF_DIR="${AUTOTOOLS_SCRIPT_PATH}"
diff --git a/recipes-core/openjdk/openjdk-8-cross.inc b/recipes-core/openjdk/openjdk-8-cross.inc
index d0b2ec8..939155b 100644
--- a/recipes-core/openjdk/openjdk-8-cross.inc
+++ b/recipes-core/openjdk/openjdk-8-cross.inc
@@ -52,7 +52,7 @@ SRC_URI_append = "\
52" 52"
53 53
54EXTRA_OECONF_append = "\ 54EXTRA_OECONF_append = "\
55 --with-jobs=${@java_get_parallel_make(d)} \ 55 --with-jobs=${@openjdk_build_helper_get_parallel_make(d)} \
56 \ 56 \
57 --with-sys-root=${STAGING_DIR_HOST} \ 57 --with-sys-root=${STAGING_DIR_HOST} \
58 --with-tools-dir=${STAGING_DIR_NATIVE} \ 58 --with-tools-dir=${STAGING_DIR_NATIVE} \
diff --git a/recipes-core/openjdk/openjdk-8-native.inc b/recipes-core/openjdk/openjdk-8-native.inc
index b782c32..e6f7933 100644
--- a/recipes-core/openjdk/openjdk-8-native.inc
+++ b/recipes-core/openjdk/openjdk-8-native.inc
@@ -20,7 +20,7 @@ PACKAGECONFIG[png] = "--with-libpng=system,--with-libpng=bundled,libpng-native"
20PACKAGECONFIG[zlib] = "--with-zlib=system,--with-zlib=bundled,zlib-native" 20PACKAGECONFIG[zlib] = "--with-zlib=system,--with-zlib=bundled,zlib-native"
21 21
22EXTRA_OECONF_append = "\ 22EXTRA_OECONF_append = "\
23 --with-jobs=${@java_get_parallel_make(d)} \ 23 --with-jobs=${@openjdk_build_helper_get_parallel_make(d)} \
24 \ 24 \
25 --with-sys-root=${STAGING_DIR_NATIVE} \ 25 --with-sys-root=${STAGING_DIR_NATIVE} \
26 --with-tools-dir=${STAGING_DIR_NATIVE} \ 26 --with-tools-dir=${STAGING_DIR_NATIVE} \
diff --git a/recipes-core/openjdk/openjdk-common.inc b/recipes-core/openjdk/openjdk-common.inc
index c92af40..4e2eb94 100644
--- a/recipes-core/openjdk/openjdk-common.inc
+++ b/recipes-core/openjdk/openjdk-common.inc
@@ -17,6 +17,7 @@ DEPENDS_append_libc-uclibc = " virtual/libiconv "
17DEPENDS_append = " qemu-native " 17DEPENDS_append = " qemu-native "
18 18
19inherit java autotools gettext qemu pkgconfig 19inherit java autotools gettext qemu pkgconfig
20inherit openjdk-build-helper
20 21
21B = "${S}/build" 22B = "${S}/build"
22 23