summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Rehsack <rehsack@gmail.com>2015-10-15 13:52:09 +0200
committerOtavio Salvador <otavio@ossystems.com.br>2015-10-15 10:32:00 -0300
commitb331dec1d8c18e48b39b3c9e5d0c547e066f1d15 (patch)
treefb78859b95ccb0bbdcbc708b64e6736e39519d7e
parent1bbcc6313150358e5e527bd70e91632a0d420f3c (diff)
downloadmeta-java-b331dec1d8c18e48b39b3c9e5d0c547e066f1d15.tar.gz
icedtea7-native: compiling without x11
Allow building icedtea7 without any X11 dependency. This affects the native part only which is required to bootstrap openjdk-8-native for cross-compiling openjdk-8, but should be adoptable for cross-compiled recipe as well as for openjdk-6. Signed-off-by: Jens Rehsack <sno@netbsd.org> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-rw-r--r--recipes-core/icedtea/icedtea7-native.inc14
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/allow-headless-build.patch72
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-sun.applet-for-tools-in-headless.patch10
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-x11-in-headless.patch15
-rw-r--r--recipes-core/icedtea/openjdk-7-release-03b147.inc10
5 files changed, 119 insertions, 2 deletions
diff --git a/recipes-core/icedtea/icedtea7-native.inc b/recipes-core/icedtea/icedtea7-native.inc
index b29fd34..69dd0ae 100644
--- a/recipes-core/icedtea/icedtea7-native.inc
+++ b/recipes-core/icedtea/icedtea7-native.inc
@@ -5,13 +5,18 @@ INC_PR = "r1"
5 5
6DEPENDS = "virtual/javac-native virtual/java-native classpath-native \ 6DEPENDS = "virtual/javac-native virtual/java-native classpath-native \
7 rhino-native ant-native libxslt-native attr-native \ 7 rhino-native ant-native libxslt-native attr-native \
8 libx11-native xproto-native libxt-native libxext-native libxrender-native \
9 giflib-native jpeg-native libpng-native \ 8 giflib-native jpeg-native libpng-native \
10 glib-2.0-native freetype-native zlib-native \ 9 glib-2.0-native freetype-native zlib-native \
11 fontconfig-native zip-native alsa-lib-native \ 10 fontconfig-native zip-native \
12 unzip-native \ 11 unzip-native \
13 " 12 "
14 13
14PACKAGECONFIG ??= ""
15PACKAGECONFIG[x11] = ",--disable-headful,libx11-native xproto-native libxt-native libxext-native libxrender-native"
16
17OEMAKE_BUILD_HEADLESS_ONLY = "${@base_contains('PACKAGECONFIG', 'x11', '', 'BUILD_HEADLESS_ONLY=1', d)}"
18CFLAGS_append = "${@base_contains('PACKAGECONFIG', 'x11', '', ' -DHEADLESS=true', d)}"
19
15inherit native java autotools 20inherit native java autotools
16 21
17JAVA_HOME[unexport] = "1" 22JAVA_HOME[unexport] = "1"
@@ -27,6 +32,7 @@ SRC_URI = " \
27 ${LANGTOOLS_URI} \ 32 ${LANGTOOLS_URI} \
28 ${ICEDTEA_PATCHES} \ 33 ${ICEDTEA_PATCHES} \
29 ${OPENJDK_PATCHES} \ 34 ${OPENJDK_PATCHES} \
35 file://allow-headless-build.patch;striplevel=0 \
30 " 36 "
31 37
32S = "${WORKDIR}/${ICEDTEA}" 38S = "${WORKDIR}/${ICEDTEA}"
@@ -124,6 +130,8 @@ do_configure_prepend() {
124 done 130 done
125} 131}
126 132
133POST_CONFIGURE_CLEAN_X11 = "${@base_contains('PACKAGECONFIG', 'x11', '', 'rm openjdk*/jdk/src/solaris/classes/sun/awt/X11/*.java', d)}"
134
127do_configure_append() { 135do_configure_append() {
128 oe_runmake patch-fsg 136 oe_runmake patch-fsg
129 137
@@ -143,6 +151,7 @@ do_configure_append() {
143 -e"s|g++\$(GCC_SUFFIX)|${CXX}|" \ 151 -e"s|g++\$(GCC_SUFFIX)|${CXX}|" \
144 $F 152 $F
145 done 153 done
154 ${POST_CONFIGURE_CLEAN_X11}
146 oe_runmake patch-boot 155 oe_runmake patch-boot
147} 156}
148 157
@@ -152,6 +161,7 @@ EXTRA_OEMAKE = ' \
152 OE_CXXFLAGS="${CXXFLAGS}" \ 161 OE_CXXFLAGS="${CXXFLAGS}" \
153 OE_LDFLAGS="${LDFLAGS}" \ 162 OE_LDFLAGS="${LDFLAGS}" \
154 ZIPEXE="${STAGING_BINDIR_NATIVE}/zip" \ 163 ZIPEXE="${STAGING_BINDIR_NATIVE}/zip" \
164 ${OEMAKE_BUILD_HEADLESS_ONLY} \
155 ' 165 '
156 166
157do_compile() { 167do_compile() {
diff --git a/recipes-core/icedtea/openjdk-7-03b147/allow-headless-build.patch b/recipes-core/icedtea/openjdk-7-03b147/allow-headless-build.patch
new file mode 100644
index 0000000..80a98b1
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/allow-headless-build.patch
@@ -0,0 +1,72 @@
1--- acinclude.m4.orig 2015-08-18 11:58:23.000000000 +0200
2+++ acinclude.m4 2015-08-18 11:58:30.000000000 +0200
3@@ -2178,3 +2178,37 @@
4 AM_CONDITIONAL([NO_BYTECODE7], test x"${it_cv_bytecode7}" = "xyes")
5 AC_PROVIDE([$0])dnl
6 ])
7+AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
8+[
9+
10+ ###############################################################################
11+ #
12+ # Should we build a JDK/JVM with headful support (ie a graphical ui)?
13+ # We always build headless support.
14+ #
15+ AC_MSG_CHECKING([headful support])
16+ AC_ARG_ENABLE([headful], [AS_HELP_STRING([--disable-headful],
17+ [disable building headful support (graphical UI support) @<:@enabled@:>@])],
18+ [SUPPORT_HEADFUL=${enable_headful}], [SUPPORT_HEADFUL=yes])
19+
20+ SUPPORT_HEADLESS=yes
21+ BUILD_HEADLESS="BUILD_HEADLESS:=true"
22+
23+ if test "x$SUPPORT_HEADFUL" = xyes; then
24+ # We are building both headful and headless.
25+ headful_msg="include support for both headful and headless"
26+ fi
27+
28+ if test "x$SUPPORT_HEADFUL" = xno; then
29+ # Thus we are building headless only.
30+ BUILD_HEADLESS="BUILD_HEADLESS:=true"
31+ headful_msg="headless only"
32+ fi
33+
34+ AC_MSG_RESULT([$headful_msg])
35+
36+ AC_SUBST(SUPPORT_HEADLESS)
37+ AC_SUBST(SUPPORT_HEADFUL)
38+ AC_SUBST(BUILD_HEADLESS)
39+
40+])
41--- configure.ac.orig 2015-08-18 11:33:37.000000000 +0200
42+++ configure.ac 2015-08-18 11:55:26.000000000 +0200
43@@ -55,9 +55,13 @@
44 IT_DISABLE_LANGTOOLS_TESTS
45 IT_DISABLE_JDK_TESTS
46
47+JDKOPT_SETUP_JDK_OPTIONS
48+
49+if test "x$SUPPORT_HEADFUL" = xyes; then
50 # Use xvfb-run if found to run gui tests (check-jdk).
51 AC_CHECK_PROG(XVFB_RUN_CMD, xvfb-run, [xvfb-run -a -e xvfb-errors], [])
52 AC_SUBST(XVFB_RUN_CMD)
53+fi
54
55 AC_MSG_CHECKING([whether to include PulseAudio support])
56 AC_ARG_ENABLE([pulse-java],
57@@ -174,6 +178,7 @@
58 IT_CHECK_FOR_SYSCALLS
59 AC_CONFIG_FILES([remove-intree-libraries.sh])
60
61+if test "x$SUPPORT_HEADFUL" = xyes; then
62 dnl Check for Xproto headers and libraries.
63 PKG_CHECK_MODULES(XPROTO, xproto,[XPROTO_FOUND=yes],[XPROTO_FOUND=no])
64 if test "x${XPROTO_FOUND}" = xno
65@@ -213,6 +218,7 @@
66 Try installing libXrender-devel or configure --disable-xrender.])
67 fi
68 fi
69+fi
70
71 if test "x${ENABLE_SYSTEMTAP}" = xyes; then
72 AC_CHECK_HEADER([sys/sdt.h], [SDT_H_FOUND='yes'],
diff --git a/recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-sun.applet-for-tools-in-headless.patch b/recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-sun.applet-for-tools-in-headless.patch
new file mode 100644
index 0000000..336043f
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-sun.applet-for-tools-in-headless.patch
@@ -0,0 +1,10 @@
1--- openjdk/jdk/make/common/Release.gmk.orig 2015-08-20 10:08:34.631526528 +0200
2+++ openjdk/jdk/make/common/Release.gmk 2015-08-20 10:10:13.823526901 +0200
3@@ -340,7 +340,6 @@
4 sun/security/tools/SignatureFile.class \
5 sun/security/tools/TimestampedSigner.class \
6 sun/rmi/rmic \
7- sun/applet \
8 sun/jvmstat \
9 com/sun/javadoc \
10 com/sun/jdi \
diff --git a/recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-x11-in-headless.patch b/recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-x11-in-headless.patch
new file mode 100644
index 0000000..b7cf7a3
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-x11-in-headless.patch
@@ -0,0 +1,15 @@
1--- openjdk/jdk/make/sun/awt/FILES_c_unix.gmk.orig 2015-08-19 11:53:47.209867982 +0200
2+++ openjdk/jdk/make/sun/awt/FILES_c_unix.gmk 2015-08-19 11:57:48.677868529 +0200
3@@ -207,12 +207,6 @@
4 awt_MToolkit.c \
5 fontpath.c \
6 VDrawingArea.c \
7- X11Color.c \
8- X11Renderer.c \
9- X11PMBlitLoops.c \
10- X11SurfaceData.c \
11- X11FontScaler_md.c \
12- X11TextRenderer_md.c \
13 OGLBlitLoops.c \
14 OGLBufImgOps.c \
15 OGLContext.c \
diff --git a/recipes-core/icedtea/openjdk-7-release-03b147.inc b/recipes-core/icedtea/openjdk-7-release-03b147.inc
index 01e7a3d..98266f7 100644
--- a/recipes-core/icedtea/openjdk-7-release-03b147.inc
+++ b/recipes-core/icedtea/openjdk-7-release-03b147.inc
@@ -82,8 +82,17 @@ OPENJDK_PATCHES = " \
82 file://icedtea-flags.patch;apply=no \ 82 file://icedtea-flags.patch;apply=no \
83 file://icedtea-openjdk-remove-currency-data-generation-expi.patch;apply=no \ 83 file://icedtea-openjdk-remove-currency-data-generation-expi.patch;apply=no \
84 file://icedtea-change-to-gdb-debug-format.patch;apply=no \ 84 file://icedtea-change-to-gdb-debug-format.patch;apply=no \
85 file://icedtea-disable-x11-in-headless.patch;apply=no \
86 file://icedtea-disable-sun.applet-for-tools-in-headless.patch;apply=no \
85 " 87 "
86 88
89OPENJDK_HEADLESS_PATCHES = " \
90 patches/icedtea-disable-x11-in-headless.patch \
91 patches/icedtea-disable-sun.applet-for-tools-in-headless.patch \
92 "
93
94CLEAN_X11_DISTRIBUTION_PATCH = "${@base_contains('PACKAGECONFIG', 'x11', '', '${OPENJDK_HEADLESS_PATCHES}', d)}"
95
87export DISTRIBUTION_PATCHES = " \ 96export DISTRIBUTION_PATCHES = " \
88 patches/icedtea-ecj-disable-compilation.patch \ 97 patches/icedtea-ecj-disable-compilation.patch \
89 patches/icedtea-unbreak-float.patch \ 98 patches/icedtea-unbreak-float.patch \
@@ -93,4 +102,5 @@ export DISTRIBUTION_PATCHES = " \
93 patches/icedtea-flags.patch \ 102 patches/icedtea-flags.patch \
94 patches/icedtea-openjdk-remove-currency-data-generation-expi.patch \ 103 patches/icedtea-openjdk-remove-currency-data-generation-expi.patch \
95 patches/icedtea-change-to-gdb-debug-format.patch \ 104 patches/icedtea-change-to-gdb-debug-format.patch \
105 ${CLEAN_X11_DISTRIBUTION_PATCH} \
96 " 106 "