diff options
author | Jens Rehsack <rehsack@gmail.com> | 2015-10-15 13:52:09 +0200 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2015-10-15 10:32:00 -0300 |
commit | b331dec1d8c18e48b39b3c9e5d0c547e066f1d15 (patch) | |
tree | fb78859b95ccb0bbdcbc708b64e6736e39519d7e /recipes-core/icedtea | |
parent | 1bbcc6313150358e5e527bd70e91632a0d420f3c (diff) | |
download | meta-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>
Diffstat (limited to 'recipes-core/icedtea')
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 | ||
6 | DEPENDS = "virtual/javac-native virtual/java-native classpath-native \ | 6 | DEPENDS = "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 | ||
14 | PACKAGECONFIG ??= "" | ||
15 | PACKAGECONFIG[x11] = ",--disable-headful,libx11-native xproto-native libxt-native libxext-native libxrender-native" | ||
16 | |||
17 | OEMAKE_BUILD_HEADLESS_ONLY = "${@base_contains('PACKAGECONFIG', 'x11', '', 'BUILD_HEADLESS_ONLY=1', d)}" | ||
18 | CFLAGS_append = "${@base_contains('PACKAGECONFIG', 'x11', '', ' -DHEADLESS=true', d)}" | ||
19 | |||
15 | inherit native java autotools | 20 | inherit native java autotools |
16 | 21 | ||
17 | JAVA_HOME[unexport] = "1" | 22 | JAVA_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 | ||
32 | S = "${WORKDIR}/${ICEDTEA}" | 38 | S = "${WORKDIR}/${ICEDTEA}" |
@@ -124,6 +130,8 @@ do_configure_prepend() { | |||
124 | done | 130 | done |
125 | } | 131 | } |
126 | 132 | ||
133 | POST_CONFIGURE_CLEAN_X11 = "${@base_contains('PACKAGECONFIG', 'x11', '', 'rm openjdk*/jdk/src/solaris/classes/sun/awt/X11/*.java', d)}" | ||
134 | |||
127 | do_configure_append() { | 135 | do_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 | ||
157 | do_compile() { | 167 | do_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 | ||
89 | OPENJDK_HEADLESS_PATCHES = " \ | ||
90 | patches/icedtea-disable-x11-in-headless.patch \ | ||
91 | patches/icedtea-disable-sun.applet-for-tools-in-headless.patch \ | ||
92 | " | ||
93 | |||
94 | CLEAN_X11_DISTRIBUTION_PATCH = "${@base_contains('PACKAGECONFIG', 'x11', '', '${OPENJDK_HEADLESS_PATCHES}', d)}" | ||
95 | |||
87 | export DISTRIBUTION_PATCHES = " \ | 96 | export 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 | " |