summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Heinold <heinold@inf.fu-berlin.de>2012-11-22 18:47:13 +0100
committerHenning Heinold <heinold@inf.fu-berlin.de>2012-11-22 18:49:40 +0100
commit7dbdd2420d3888d8b7e4e1418ba1bbfe0b1f687c (patch)
treeca625d3583eee077c9750bd47a97b83e8ffef540
parente6e59540e4540dfca17c5904aad6fdc23cf6934e (diff)
downloadmeta-java-7dbdd2420d3888d8b7e4e1418ba1bbfe0b1f687c.tar.gz
icedtea7-native: simple copy over from openjdk-7 branch
-rw-r--r--recipes-core/icedtea/icedtea7-native.inc249
-rw-r--r--recipes-core/icedtea/icedtea7-native_2.1.1.bb9
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/build-hacks-native.patch41
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/disable-library-checks.patch115
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/fix-checksums.patch13
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/icedtea-corba-parallel-make.patch31
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-desktop-dirs.patch91
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/icedtea-ecj-disable-compilation.patch840
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/icedtea-flags.patch153
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/icedtea-hotspot-make-arch-sane-for-x86.patch622
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/icedtea-jdk-sane-x86-arch.patch204
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/icedtea-sane-x86-arch-name.patch35
-rw-r--r--recipes-core/icedtea/openjdk-7-03b147/icedtea-unbreak-float.patch16
-rw-r--r--recipes-core/icedtea/openjdk-7-release-03b147.inc99
14 files changed, 2518 insertions, 0 deletions
diff --git a/recipes-core/icedtea/icedtea7-native.inc b/recipes-core/icedtea/icedtea7-native.inc
new file mode 100644
index 0000000..e209a68
--- /dev/null
+++ b/recipes-core/icedtea/icedtea7-native.inc
@@ -0,0 +1,249 @@
1DESCRIPTION = "Harness to build the source code from OpenJDK using Free Software build tools"
2HOMEPAGE = "http://icedtea.classpath.org"
3LICENSE = "GPL-2.0-with-classpath-exception"
4INC_PR = "r0"
5
6DEPENDS = "virtual/javac-native virtual/java-native classpath-native \
7 rhino-native ant-native \
8 libx11-native xproto-native libxt-native libxext-native libxrender-native \
9 giflib-native jpeg-native libpng-native \
10 glib-2.0-native freetype-native zlib-native \
11 fontconfig-native zip-native alsa-lib-native \
12 "
13
14inherit native java autotools
15
16JAVA_HOME[unexport] = "1"
17
18SRC_URI = " \
19 ${ICEDTEA_URI} \
20 ${OPENJDK_URI} \
21 ${HOTSPOT_URI} \
22 ${CORBA_URI} \
23 ${JAXP_URI} \
24 ${JAXWS_URI} \
25 ${JDK_URI} \
26 ${LANGTOOLS_URI} \
27 ${ICEDTEA_PATCHES} \
28 ${OPENJDK_PATCHES} \
29 "
30
31S = "${WORKDIR}/${ICEDTEA}"
32B = "${S}/build"
33
34# openjdk looks in /usr/include and /usr/lib for freetype by default.
35export ALT_FREETYPE_HEADERS_PATH = "${STAGING_INCDIR}/freetype2"
36export ALT_FREETYPE_LIB_PATH = "${STAGING_LIBDIR}"
37
38# OpenJDK supports parallel compilation but uses a plain number for this.
39# In OE we have PARALLEL_MAKE which is the actual option passed to make,
40# e.g. "-j 4".
41ICEDTEA_PARALLEL_MAKE := "${PARALLEL_MAKE}"
42PARALLEL_MAKE = ""
43def get_jdk7_native_jobs(d):
44 import bb
45
46 pm = bb.data.getVar('ICEDTEA_PARALLEL_MAKE', d, 1);
47 if not pm:
48 return "1"
49
50 pm = pm.split("j");
51 if (len(pm) == 2):
52 return pm[1].strip()
53
54 # Whatever found in PARALLEL_MAKE was not suitable.
55 return "1"
56
57JDK_JOBS = "${@get_jdk7_native_jobs(d)}"
58
59EXTRA_OECONF = "\
60 --with-parallel-jobs=${JDK_JOBS} \
61 \
62 --disable-tests \
63 --disable-hotspot-tests \
64 --disable-langtools-tests \
65 --disable-jdk-tests \
66 --disable-pulse-java \
67 --disable-docs \
68 --disable-nss \
69 --disable-system-lcms \
70 --disable-system-gtk \
71 \
72 --with-jdk-home=${WORKDIR}/fake-jdk \
73 --with-javac=${STAGING_BINDIR_NATIVE}/javac \
74 --with-rhino=${STAGING_DATADIR_NATIVE}/java/rhino.jar \
75 \
76 --with-openjdk-src-zip=${DL_DIR}/${OPENJDK_FILE} \
77 --with-hotspot-src-zip=${DL_DIR}/${HOTSPOT_FILE} \
78 --with-corba-src-zip=${DL_DIR}/${CORBA_FILE} \
79 --with-jaxp-src-zip=${DL_DIR}/${JAXP_FILE} \
80 --with-jaxws-src-zip=${DL_DIR}/${JAXWS_FILE} \
81 --with-jdk-src-zip=${DL_DIR}/${JDK_FILE} \
82 --with-langtools-src-zip=${DL_DIR}/${LANGTOOLS_FILE} \
83 "
84
85JDK_DIR = "icedtea7-native"
86
87JDK_INSTALL_DIR = "${D}/${libdir_jvm}/${JDK_DIR}"
88
89do_configure_prepend() {
90 echo "Configure with parallel-jobs: ${JDK_JOBS}"
91
92 case "${TRANSLATED_TARGET_ARCH}" in
93 x86-64)
94 libarch=amd64
95 ;;
96 i386|i486|i586|i686)
97 libarch=x86
98 ;;
99 *)
100 arch=${TARGET_ARCH}
101 libarch=${TARGET_ARCH}
102 ;;
103 esac
104
105 # Automatically copy everything that starts with "icedtea" and ends with
106 # ".patch" into the patches directory.
107 find ${WORKDIR} -maxdepth 1 -name "icedtea*.patch" -exec cp {} ${S}/patches \;
108
109 # Prepare JDK-like directory with Classpath' files which we can treat as a
110 # SYSTEM_GCJ_DIR afterwards.
111 mkdir -p ${WORKDIR}/fake-jdk/jre/lib/
112 ln -sf ${STAGING_DATADIR_NATIVE}/classpath/glibj.zip ${WORKDIR}/fake-jdk/jre/lib/rt.jar
113
114 mkdir -p ${WORKDIR}/fake-jdk/bin
115 ln -sf ${STAGING_BINDIR_NATIVE}/java ${WORKDIR}/fake-jdk/bin/java
116 #ln -sf ${STAGING_BINDIR_NATIVE}/javac ${WORKDIR}/fake-jdk/bin/javac
117 ln -sf ${STAGING_BINDIR_NATIVE}/gjavah ${WORKDIR}/fake-jdk/bin/javah
118 ln -sf ${STAGING_BINDIR_NATIVE}/gjar ${WORKDIR}/fake-jdk/bin/jar
119 ln -sf ${STAGING_BINDIR_NATIVE}/grmic ${WORKDIR}/fake-jdk/bin/rmic
120 ln -sf ${STAGING_BINDIR_NATIVE}/gnative2ascii ${WORKDIR}/fake-jdk/bin/native2ascii
121
122 mkdir -p ${WORKDIR}/fake-jdk/include
123 for i in ${STAGING_INCDIR_NATIVE}/classpath/* ;do
124 test -r $i | continue;
125 bn=`basename $i`
126 ln -sf $i ${WORKDIR}/fake-jdk/include/$bn;
127 done
128}
129
130do_configure_append() {
131 oe_runmake patch-fsg
132
133 for F in openjdk/jdk/make/common/shared/Compiler-gcc.gmk ;
134 do
135 sed -i \
136 -e"s|\$(COMPILER_PATH)gcc\$(GCC_SUFFIX)|${CC}|" \
137 -e"s|\$(COMPILER_PATH)gcc\$(GCC_SUFFIX) -E|${CPP}|" \
138 -e"s|\$(COMPILER_PATH)g++\$(GCC_SUFFIX)|${CXX}|" \
139 $F
140 done
141
142 for F in openjdk/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/agent/src/os/linux/Makefile ;
143 do
144 sed -i \
145 -e"s|gcc\$(GCC_SUFFIX)|${CC}|" \
146 -e"s|g++\$(GCC_SUFFIX)|${CXX}|" \
147 $F
148 done
149 oe_runmake patch-boot
150}
151
152EXTRA_OEMAKE = ' \
153 OE_CFLAGS="${CFLAGS}" \
154 OE_CPPFLAGS="${CPPFLAGS}" \
155 OE_CXXFLAGS="${CXXFLAGS}" \
156 OE_LDFLAGS="${LDFLAGS}" \
157 ZIPEXE="${STAGING_BINDIR_NATIVE}/zip" \
158 '
159
160do_compile() {
161 # OpenJDK uses slightly different names for certain arches. We need to know
162 # this to create some files which are expected by the build.
163 case "${TRANSLATED_TARGET_ARCH}" in
164 x86-64)
165 arch=amd64
166 libarch=amd64
167 ;;
168 i386|i486|i586|i686)
169 arch=x86
170 libarch=x86
171 ;;
172 *)
173 arch=${TARGET_ARCH}
174 libarch=${TARGET_ARCH}
175 ;;
176 esac
177
178 install -d openjdk-boot/control/build/linux-$arch/hotspot/import/jre/lib
179 if [ $libarch != $arch ]; then
180 # Something is strange with the directoy naming. OpenJDK uses both variants.
181 ln -sf $libarch openjdk-boot/control/build/linux-$arch/hotspot/import/jre/lib/$arch
182 fi
183
184 common_dirs="openjdk.build-boot/tmp/sun openjdk.build/tmp/sun"
185 for CM in ${common_dirs}
186 do
187 for DM in javax.sound/jsoundalsa sun.awt.X11/xawt sun.awt/jawt;
188 do
189 bbnote "creating ${CM}/${DM}/obj64/.files_compiled"
190 install -d ${CM}/${DM}/obj64
191 touch ${CM}/${DM}/obj64/.files_compiled
192
193 bbnote "creating ${CM}/${DM}/obj/.files_compiled"
194 install -d ${CM}/${DM}/obj
195 touch ${CM}/${DM}/obj/.files_compiled
196 done
197 done
198
199 # Now cross-compile bootstrap JDK
200 oe_runmake icedtea
201}
202
203def jdk_arch(d):
204 import bb
205
206 target_arch = bb.data.getVar('TRANSLATED_TARGET_ARCH', d, 1)
207
208 if target_arch in ['i386', 'i486', 'i586', 'i686']:
209 return "x86"
210 elif target_arch in ['x86-64']:
211 return "amd64"
212
213 return target_arch
214
215do_install() {
216 case "${TRANSLATED_TARGET_ARCH}" in
217 x86-64)
218 JDK_ARCH=amd64
219 ;;
220 i386|i486|i586|i686)
221 JDK_ARCH=x86
222 ;;
223 *)
224 JDK_ARCH=${TARGET_ARCH}
225 ;;
226 esac
227
228 install -d ${JDK_INSTALL_DIR}
229
230 SDKDIR=openjdk.build/j2sdk-image
231 for F in ${SDKDIR}/bin ${SDKDIR}/include ${SDKDIR}/jre ${SDKDIR}/lib
232 do
233 cp -RL $F ${JDK_INSTALL_DIR}
234 done
235
236 #cp openjdk-boot/jdk/src/solaris/hpi/export/*.h ${JDK_INSTALL_DIR}/include/hpi
237 #cp openjdk-boot/jdk/src/share/hpi/export/*.h ${JDK_INSTALL_DIR}/include/hpi
238
239 install -d ${JDK_INSTALL_DIR}/include/javavm
240 cp openjdk-boot/jdk/src/share/javavm/export/*.h ${JDK_INSTALL_DIR}/include/javavm
241 cp openjdk-boot/jdk/src/solaris/javavm/export/*.h ${JDK_INSTALL_DIR}/include/javavm
242
243 # Fix libjvm.so dependency of libfontmanager.so
244 ln -sf server/libjvm.so ${JDK_INSTALL_DIR}/jre/lib/${JDK_ARCH}/libjvm.so
245 ln -sf server/libjvm.so ${JDK_INSTALL_DIR}/jre/lib/${JDK_ARCH}/libjvm.so.0
246
247 # Fix missing write permissions on the files.
248 chmod ug+w -R ${JDK_INSTALL_DIR}
249}
diff --git a/recipes-core/icedtea/icedtea7-native_2.1.1.bb b/recipes-core/icedtea/icedtea7-native_2.1.1.bb
new file mode 100644
index 0000000..9fff461
--- /dev/null
+++ b/recipes-core/icedtea/icedtea7-native_2.1.1.bb
@@ -0,0 +1,9 @@
1require openjdk-7-release-03b147.inc
2
3PR = "${INC_PR}.1"
4
5ICEDTEA = "icedtea-2.1.1"
6
7SRC_URI[iced.md5sum] = "32859fa5f7337d58ae848311e2a94761"
8SRC_URI[iced.sha256sum] = "4a015cf3fb8fb9aa6b3ce4a41fd9bc5dcb417a1885a10a01e92d0cc7a5ffdc65"
9
diff --git a/recipes-core/icedtea/openjdk-7-03b147/build-hacks-native.patch b/recipes-core/icedtea/openjdk-7-03b147/build-hacks-native.patch
new file mode 100644
index 0000000..cc8e8b1
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/build-hacks-native.patch
@@ -0,0 +1,41 @@
1Index: icedtea-2.1/Makefile.am
2===================================================================
3--- icedtea-2.1.orig/Makefile.am
4+++ icedtea-2.1/Makefile.am
5@@ -413,6 +413,10 @@ ICEDTEA_ENV = \
6 FT2_LIBS="$(FREETYPE2_LIBS)" \
7 ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \
8 HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \
9+ OE_CFLAGS="$(OE_CFLAGS)" \
10+ OE_CPPFLAGS="$(OE_CPPFLAGS)" \
11+ OE_CXXFLAGS="$(OE_CXXFLAGS)" \
12+ OE_LDFLAGS="$(OE_LDFLAGS)" \
13 JAVAC="" \
14 JAVA_HOME="" \
15 JDK_HOME="" \
16@@ -428,10 +432,7 @@ ICEDTEA_ENV = \
17 VERBOSE="$(VERBOSE)" \
18 STATIC_CXX="false" \
19 BUILD_GCC="$(CC)" \
20- BUILD_CPP="$(CXX)" \
21- USE_SYSTEM_CUPS="true" \
22- CUPS_LIBS="${CUPS_LIBS}" \
23- CUPS_CFLAGS="${CUPS_CFLAGS}"
24+ BUILD_CPP="$(CXX)"
25
26 if ENABLE_CACAO
27 ICEDTEA_ENV += \
28@@ -504,12 +505,8 @@ ICEDTEA_ENV += \
29 GIF_CFLAGS="${GIF_CFLAGS}"
30 endif
31
32-if USE_SYSTEM_GTK
33 ICEDTEA_ENV += \
34- USE_SYSTEM_GTK="true" \
35- GTK_LIBS="${GTK_LIBS}" \
36- GTK_CFLAGS="${GTK_CFLAGS}"
37-endif
38+ USE_SYSTEM_GTK="false"
39
40 if USE_SYSTEM_GIO
41 ICEDTEA_ENV += \
diff --git a/recipes-core/icedtea/openjdk-7-03b147/disable-library-checks.patch b/recipes-core/icedtea/openjdk-7-03b147/disable-library-checks.patch
new file mode 100644
index 0000000..cd26990
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/disable-library-checks.patch
@@ -0,0 +1,115 @@
1Index: icedtea-2.1/configure.ac
2===================================================================
3--- icedtea-2.1.orig/configure.ac
4+++ icedtea-2.1/configure.ac
5@@ -171,71 +171,19 @@ IT_CHECK_FOR_LCMS
6 IT_CHECK_FOR_GTK
7 IT_CHECK_FOR_GIO
8 IT_CHECK_FOR_FONTCONFIG
9-IT_CHECK_FOR_CUPS
10 IT_CHECK_FOR_SYSCALLS
11 AC_CONFIG_FILES([remove-intree-libraries.sh])
12
13-dnl Check for Xproto headers and libraries.
14-PKG_CHECK_MODULES(XPROTO, xproto,[XPROTO_FOUND=yes],[XPROTO_FOUND=no])
15-if test "x${XPROTO_FOUND}" = xno
16-then
17- AC_MSG_ERROR([Could not find Xproto headers - \
18- Try installing xorg-x11-proto-devel.])
19-fi
20-AC_SUBST(XT_CFLAGS)
21-AC_SUBST(XT_LIBS)
22-
23-dnl Check for libXt headers and libraries.
24-PKG_CHECK_MODULES(XT, xt,[XT_FOUND=yes],[XT_FOUND=no])
25-if test "x${XT_FOUND}" = xno
26-then
27- AC_MSG_ERROR([Could not find Xt - \
28- Try installing libXt-devel.])
29-fi
30-AC_SUBST(XT_CFLAGS)
31-AC_SUBST(XT_LIBS)
32-
33-dnl Check for libXp headers and libraries.
34-PKG_CHECK_MODULES(XP, xp,[XP_FOUND=yes],[XP_FOUND=no])
35-if test "x${XP_FOUND}" = xno
36-then
37- AC_MSG_ERROR([Could not find Xp - \
38- Try installing libXp-devel.])
39-fi
40-AC_SUBST(XP_CFLAGS)
41-AC_SUBST(XP_LIBS)
42-
43 dnl Check for libX11 headers and libraries.
44 PKG_CHECK_MODULES(X11, x11,[X11_FOUND=yes],[X11_FOUND=no])
45 if test "x${X11_FOUND}" = xno
46 then
47- AC_MSG_ERROR([Could not find x11 - \
48- Try installing libX11-devel.])
49+ AC_MSG_ERROR([Could not find x11 - \
50+ Try installing libX11-devel.])
51 fi
52 AC_SUBST(X11_CFLAGS)
53 AC_SUBST(X11_LIBS)
54
55-dnl Check for libXinerama headers and libraries.
56-PKG_CHECK_MODULES(XINERAMA, xinerama,[XINERAMA_FOUND=yes]
57- ,[XINERAMA_FOUND=no])
58-if test "x${XINERAMA_FOUND}" = xno
59-then
60- AC_MSG_ERROR([Could not find Xinerama - \
61- Try installing libXinerama-devel.])
62-fi
63-AC_SUBST(XINERAMA_CFLAGS)
64-AC_SUBST(XINERAMA_LIBS)
65-
66-if test "x${ENABLE_XRENDER}" = "xyes"
67-then
68- PKG_CHECK_MODULES(XRENDER, xrender, [XRENDER_FOUND=yes], [XRENDER_FOUND=no])
69- if test "x${XRENDER_FOUND}" = xno
70- then
71- AC_MSG_ERROR([Could not find Xrender extension - \
72-Try installing libXrender-devel or configure --disable-xrender.])
73- fi
74-fi
75-
76 if test "x${ENABLE_SYSTEMTAP}" = xyes; then
77 AC_CHECK_HEADER([sys/sdt.h], [SDT_H_FOUND='yes'],
78 [SDT_H_FOUND='no';
79@@ -297,16 +245,6 @@ public:
80 AC_CONFIG_FILES([tapset/jstack.stp])
81 fi
82
83-dnl Check for libXtst headers and libraries.
84-PKG_CHECK_MODULES(XTST, xtst,[XTST_FOUND=yes],[XTST_FOUND=no])
85-if test "x${XTST_FOUND}" = xno
86-then
87- AC_MSG_ERROR([Could not find Xtst - \
88- Try installing libXtst-devel.])
89-fi
90-AC_SUBST(XTST_CFLAGS)
91-AC_SUBST(XTST_LIBS)
92-
93 dnl Check for freetype2 headers and libraries.
94 PKG_CHECK_MODULES(FREETYPE2, freetype2,[FREETYPE2_FOUND=yes]
95 ,[FREETYPE2_FOUND=no])
96@@ -318,19 +256,6 @@ fi
97 AC_SUBST(FREETYPE2_CFLAGS)
98 AC_SUBST(FREETYPE2_LIBS)
99
100-dnl Check for alsa headers and libraries (only required for Linux).
101-if test "x${BUILD_OS_DIR}" = "xlinux"
102-then
103- PKG_CHECK_MODULES(ALSA, alsa,[ALSA_FOUND=yes],[ALSA_FOUND=no])
104- if test "x${ALSA_FOUND}" = xno
105- then
106- AC_MSG_ERROR([Could not find alsa - \
107- Try installing alsa-lib-devel.])
108- fi
109-AC_SUBST(ALSA_CFLAGS)
110-AC_SUBST(ALSA_LIBS)
111-fi
112-
113 if test "x${enable_pulse_java}" = "xyes"
114 then
115 dnl Check for pulseaudio libraries.
diff --git a/recipes-core/icedtea/openjdk-7-03b147/fix-checksums.patch b/recipes-core/icedtea/openjdk-7-03b147/fix-checksums.patch
new file mode 100644
index 0000000..1999170
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/fix-checksums.patch
@@ -0,0 +1,13 @@
1Index: icedtea-2.1/Makefile.am
2===================================================================
3--- icedtea-2.1.orig/Makefile.am
4+++ icedtea-2.1/Makefile.am
5@@ -18,7 +18,7 @@ JAXP_SHA256SUM = 8ce48c704f38285207ee6dc
6 JAXWS_SHA256SUM = 823ca6b8fd780bf1b1565a90cfc8ec6f0ee422a5d25ffb20b1ce0272dc4955aa
7 JDK_SHA256SUM = 5f8b5edbebb358730425e64a31eaa11c346467ba10ffe1848f2d2ad2ea53bc3d
8 LANGTOOLS_SHA256SUM = c77dd42d83f06d18fa8aa65c93d137608a2e02cf24b68fc10d7b1c0bcc12a93c
9-OPENJDK_SHA256SUM = ada790b4754f521ebfad0dd909ea29b92b2b3c1b84b2e99d32673343727d95d7
10+OPENJDK_SHA256SUM = 758227833982371e3a94def84226a947f8dbbd176517f313b8cb96840bdea41e
11
12 CACAO_VERSION = a567bcb7f589
13 CACAO_SHA256SUM = d49f79debc131a5694cae6ab3ba2864e7f3249ee8d9dc09aae8afdd4dc6b09f9
diff --git a/recipes-core/icedtea/openjdk-7-03b147/icedtea-corba-parallel-make.patch b/recipes-core/icedtea/openjdk-7-03b147/icedtea-corba-parallel-make.patch
new file mode 100644
index 0000000..09f7511
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/icedtea-corba-parallel-make.patch
@@ -0,0 +1,31 @@
1diff --git openjdk/corba/make/Makefile openjdk/corba/make/Makefile
2index aef5c1b..62e2216 100644
3--- openjdk/corba/make/Makefile
4+++ openjdk/corba/make/Makefile
5@@ -134,7 +134,7 @@ default: all
6 #----- classes.jar
7
8 CLASSES_JAR = $(LIB_DIR)/classes.jar
9-$(CLASSES_JAR):
10+$(CLASSES_JAR): build
11 $(MKDIR) -p $(@D)
12 $(BOOT_JAR_CMD) -cf $@ -C $(CLASSES_DIR) .
13
14@@ -144,6 +144,7 @@ SRC_ZIP_FILES = $(shell $(FIND) $(SRC_CLASSES_DIR) \( -name \*-template \) -prun
15
16 SRC_ZIP = $(LIB_DIR)/src.zip
17 $(SRC_ZIP): $(SRC_ZIP_FILES)
18+ $(MKDIR) -p $(@D)
19 abs_src_zip=`cd $(@D) ; pwd`/$(@F) ; \
20 ( cd $(SRC_CLASSES_DIR) ; $(FIND) . \( -name \*-template \) -prune -o -type f -print | $(ZIP) -q $$abs_src_zip -@ ) ; \
21 ( cd $(GENSRC_DIR) ; $(FIND) . -type f -print | $(ZIP) -q $$abs_src_zip -@ ) ;
22@@ -153,7 +154,8 @@ $(SRC_ZIP): $(SRC_ZIP_FILES)
23 BIN_ZIP_FILES = $(BUILD_DIR/lib/orb.idl $(BUILD_DIR)/lib/ir.idl
24
25 BIN_ZIP = $(LIB_DIR)/bin.zip
26-$(BIN_ZIP): $(BIN_ZIP_FILES)
27+$(BIN_ZIP): build $(BIN_ZIP_FILES)
28+ $(MKDIR) -p $(@D)
29 abs_bin_zip=`cd $(@D) ; pwd`/$(@F) ; \
30 ( cd $(BUILD_DIR) ; $(FIND) lib -name "*.idl" -print | $(ZIP) -q $$abs_bin_zip -@ ) ;
31
diff --git a/recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-desktop-dirs.patch b/recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-desktop-dirs.patch
new file mode 100644
index 0000000..739804a
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/icedtea-disable-desktop-dirs.patch
@@ -0,0 +1,91 @@
1diff --git openjdk/jdk/make/common/Subdirs.gmk openjdk/jdk/make/common/Subdirs.gmk
2index f212d50..da6e9e1 100644
3--- openjdk/jdk/make/common/Subdirs.gmk
4+++ openjdk/jdk/make/common/Subdirs.gmk
5@@ -88,28 +88,6 @@ done
6 @$(ECHO) "Done Processing OTHERSUBDIRS: $(OTHERSUBDIRS)"
7 endef
8
9-#
10-# Iterate the list specified in SUBDIRS_<group> only if
11-# SUBDIRS_<group> is set.
12-#
13-ifdef SUBDIRS_desktop
14- define subdirs-desktop-loop
15- @$(call subdirs-group-loop,SUBDIRS_desktop)
16- endef
17-else
18- define subdirs-desktop-loop
19- endef
20-endif # SUBDIRS_desktop
21-
22-ifdef SUBDIRS_enterprise
23- define subdirs-enterprise-loop
24- @$(call subdirs-group-loop,SUBDIRS_enterprise)
25- endef
26-else
27-define subdirs-enterprise-loop
28-endef
29-endif # SUBDIRS_enterprise
30-
31 ifdef SUBDIRS_management
32 define subdirs-management-loop
33 @$(call subdirs-group-loop,SUBDIRS_management)
34@@ -140,7 +118,7 @@ endif # SUBDIRS_tools
35 #
36 # If BUILD_MODULES is not set or it's set to "all",
37 # iterate all groups.
38-SUBDIRS_all = $(SUBDIRS) $(SUBDIRS_desktop) $(SUBDIRS_enterprise) \
39+SUBDIRS_all = $(SUBDIRS) $(SUBDIRS_enterprise) \
40 $(SUBDIRS_management) $(SUBDIRS_misc) $(SUBDIRS_tools)
41
42 define SUBDIRS-loop
43diff --git a/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c b/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
44index 5de53ca..b598a22 100644
45--- a/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
46+++ b/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
47@@ -29,7 +29,7 @@
48 #include "X11SurfaceData.h"
49
50 /*#include <xcb/xcb.h>*/
51-#include <Xrender.h>
52+#include <X11/extensions/Xrender.h>
53
54 #ifndef RepeatNone /* added in 0.10 */
55 #define RepeatNone 0
56diff --git a/jdk/make/sun/xawt/FILES_c_unix.gmk b/jdk/make/sun/xawt/FILES_c_unix.gmk
57index 57b34c3..c629f78 100644
58--- a/jdk/make/sun/xawt/FILES_c_unix.gmk
59+++ b/jdk/make/sun/xawt/FILES_c_unix.gmk
60@@ -84,15 +84,8 @@ FILES_c = \
61 XRSurfaceData.c \
62 XRBackendNative.c
63
64-ifndef USE_SYSTEM_GTK
65 FILES_c += \
66 gtk_fp.c
67-endif
68-
69-ifndef USE_SYSTEM_CUPS
70-FILES_c += \
71- cups_fp.c
72-endif
73
74 ifndef USE_SYSTEM_FONTCONFIG
75 FILES_c += \
76diff --git a/jdk/make/sun/awt/FILES_c_unix.gmk b/jdk/make/sun/awt/FILES_c_unix.gmk
77index dc1f61e..489abc1 100644
78--- a/jdk/make/sun/awt/FILES_c_unix.gmk
79+++ b/jdk/make/sun/awt/FILES_c_unix.gmk
80@@ -230,11 +230,6 @@ FILES_NO_MOTIF_c = \
81 AccelGlyphCache.c \
82 CUPSfuncs.c
83
84-ifndef USE_SYSTEM_CUPS
85-FILES_NO_MOTIF_c += \
86- cups_fp.c
87-endif
88-
89 ifndef USE_SYSTEM_FONTCONFIG
90 FILES_NO_MOTIF_c += \
91 fontconfig_fp.c
diff --git a/recipes-core/icedtea/openjdk-7-03b147/icedtea-ecj-disable-compilation.patch b/recipes-core/icedtea/openjdk-7-03b147/icedtea-ecj-disable-compilation.patch
new file mode 100644
index 0000000..a9ee96c
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/icedtea-ecj-disable-compilation.patch
@@ -0,0 +1,840 @@
1diff --git openjdk/jdk/make/common/Sanity.gmk openjdk/jdk/make/common/Sanity.gmk
2index 27fe5bd..97ad549 100644
3--- openjdk/jdk/make/common/Sanity.gmk
4+++ openjdk/jdk/make/common/Sanity.gmk
5@@ -91,19 +91,7 @@ sanity-all:: sanity-base \
6 sane-ld_run_path \
7 sane-alt_bootdir \
8 sane-bootdir \
9- sane-local-bootdir \
10- sane-alsa-headers
11-
12-ifdef OPENJDK
13-sanity-all:: sane-freetype
14-endif
15-
16-
17-# Always check cups header paths on solaris & linux
18-ifneq ($(PLATFORM), windows)
19-sanity-all:: \
20- sane-cups
21-endif
22+ sane-local-bootdir
23
24 # Always check hotspot binary paths even if we are building them from scratch
25 HOTSPOT_IMPORT_CHECK=true
26diff --git openjdk/jdk/make/common/shared/Defs-java.gmk openjdk/jdk/make/common/shared/Defs-java.gmk
27index 401f7db..bbd1157 100644
28--- openjdk/jdk/make/common/shared/Defs-java.gmk
29+++ openjdk/jdk/make/common/shared/Defs-java.gmk
30@@ -36,14 +36,6 @@
31 # Memory related -J flags that all uses of java tools should use.
32 #
33 JAVA_MEM_FLAGS = -Xmx$(MAX_VM_MEMORY)m
34-ifeq ($(ARCH), ia64)
35- # Special flags for javac on ia64 to work around a VM problem with
36- # bad code generation during inlining (what version had this problem?):
37- # Suspect this may not be needed anymore.
38- JAVA_MEM_FLAGS += -Xms$(MAX_VM_MEMORY)m -XX:-Inline
39-else
40- JAVA_MEM_FLAGS += -Xms$(MIN_VM_MEMORY)m -XX:PermSize=32m -XX:MaxPermSize=160m
41-endif
42
43 #
44 # All java tools (javac, javah, and javadoc) run faster with certain java
45diff --git openjdk/jdk/make/common/shared/Sanity.gmk openjdk/jdk/make/common/shared/Sanity.gmk
46index a566d07..25ca978 100644
47--- openjdk/jdk/make/common/shared/Sanity.gmk
48+++ openjdk/jdk/make/common/shared/Sanity.gmk
49@@ -200,7 +200,6 @@ include $(JDK_MAKE_SHARED_DIR)/Sanity-Settings.gmk
50 sane-alt_bootdir \
51 sane-bootdir \
52 sane-local-bootdir \
53- sane-cups \
54 sane-devtools_path \
55 sane-compiler_path \
56 sane-unixcommand_path \
57@@ -218,12 +217,10 @@ include $(JDK_MAKE_SHARED_DIR)/Sanity-Settings.gmk
58 sane-compiler \
59 sane-link \
60 sane-cacerts \
61- sane-alsa-headers \
62 sane-ant_version \
63 sane-zip_version \
64 sane-unzip_version \
65- sane-msvcrt_path \
66- sane-freetype
67+ sane-msvcrt_path
68
69 ######################################################
70 # check for COPYRIGHT_YEAR variable
71diff --git openjdk/jdk/make/javax/sound/jsoundalsa/Makefile openjdk/jdk/make/javax/sound/jsoundalsa/Makefile
72index 5fa0124..e56be17 100644
73--- openjdk/jdk/make/javax/sound/jsoundalsa/Makefile
74+++ openjdk/jdk/make/javax/sound/jsoundalsa/Makefile
75@@ -44,34 +44,11 @@ include $(BUILDDIR)/common/Mapfile-vers.gmk
76 # Files
77 #
78
79-FILES_c = \
80- Utilities.c \
81- $(DAUDIOFILES_c) \
82- $(MIDIFILES_c) \
83- $(PORTFILES_c)
84-
85-# platform dependent files
86-FILES_c += \
87- PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
88- PLATFORM_API_LinuxOS_ALSA_PCM.c \
89- PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
90- PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
91- PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
92- PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
93- PLATFORM_API_LinuxOS_ALSA_Ports.c
94-
95-FILES_export = \
96- $(DAUDIOFILES_export) \
97- $(MIDIFILES_export) \
98- $(PORTFILES_export)
99-
100-OTHER_LDLIBS += -lasound
101-
102 CPPFLAGS += \
103- -DUSE_DAUDIO=TRUE \
104- -DUSE_PORTS=TRUE \
105- -DUSE_PLATFORM_MIDI_OUT=TRUE \
106- -DUSE_PLATFORM_MIDI_IN=TRUE \
107+ -DUSE_DAUDIO=FALSE \
108+ -DUSE_PORTS=FALSE \
109+ -DUSE_PLATFORM_MIDI_OUT=FALSE \
110+ -DUSE_PLATFORM_MIDI_IN=FALSE \
111 -I$(SHARE_SRC)/native/com/sun/media/sound
112
113 #
114diff --git openjdk/jdk/make/launchers/Makefile openjdk/jdk/make/launchers/Makefile
115index cc07bbe..bdd7b1f 100644
116--- openjdk/jdk/make/launchers/Makefile
117+++ openjdk/jdk/make/launchers/Makefile
118@@ -43,18 +43,7 @@ $(MAKE) -f Makefile.launcher \
119 MAIN_ARGS="$(strip $4)"
120 endef
121
122-# Run MAKE $@ for all generic launchers
123-ifndef BUILD_HEADLESS_ONLY
124-define make-appletviewer
125-$(call make-launcher, appletviewer, sun.applet.Main, , )
126-endef
127-else
128-define make-appletviewer
129-endef
130-endif
131-
132 define make-all-launchers
133-$(make-appletviewer)
134 $(call make-launcher, apt, com.sun.tools.apt.Main, , )
135 $(call make-launcher, extcheck, com.sun.tools.extcheck.Main, , )
136 $(call make-launcher, idlj, com.sun.tools.corba.se.idl.toJavaPortable.Compile, , )
137diff --git openjdk/jdk/make/sun/awt/Makefile openjdk/jdk/make/sun/awt/Makefile
138index 43c9ad2..c29c167 100644
139--- openjdk/jdk/make/sun/awt/Makefile
140+++ openjdk/jdk/make/sun/awt/Makefile
141@@ -178,7 +178,7 @@ COMPILEFONTCONFIG_FLAGS =
142 ifdef ALT_COMPILEFONTCONFIG_FLAGS
143 COMPILEFONTCONFIG_FLAGS += $(ALT_COMPILEFONTCONFIG_FLAGS)
144 endif
145-build: fontconfigs
146+build:
147
148
149 ifeq ($(PLATFORM), windows)
150@@ -503,10 +503,6 @@ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
151 -I$(PLATFORM_SRC)/native/$(PKGDIR) \
152 $(EVENT_MODEL)
153
154-ifeq ($(PLATFORM), linux)
155-LDFLAGS += -L$(OPENWIN_LIB)
156-endif
157-
158 LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
159 $(AWT_RUNPATH)
160
161diff --git openjdk/jdk/make/sun/jawt/Makefile openjdk/jdk/make/sun/jawt/Makefile
162index afbce78..ed6a1c3 100644
163--- openjdk/jdk/make/sun/jawt/Makefile
164+++ openjdk/jdk/make/sun/jawt/Makefile
165@@ -36,7 +36,7 @@ include $(BUILDDIR)/common/Defs.gmk
166 ifeq ($(PLATFORM), windows)
167 FILES_cpp = jawt.cpp
168 else # PLATFORM
169-FILES_c = jawt.c
170+FILES_c =
171 endif # PLATFORM
172
173 FILES_h = $(INCLUDEDIR)/jawt.h \
174diff --git openjdk/jdk/src/share/classes/java/awt/GraphicsEnvironment.java openjdk/jdk/src/share/classes/java/awt/GraphicsEnvironment.java
175index cf3f1e5..657716a 100644
176--- openjdk/jdk/src/share/classes/java/awt/GraphicsEnvironment.java
177+++ openjdk/jdk/src/share/classes/java/awt/GraphicsEnvironment.java
178@@ -137,7 +137,7 @@ public abstract class GraphicsEnvironment {
179 * @since 1.4
180 */
181 public static boolean isHeadless() {
182- return getHeadlessProperty();
183+ return true;
184 }
185
186 /**
187diff --git openjdk/jdk/src/solaris/native/sun/awt/CUPSfuncs.c openjdk/jdk/src/solaris/native/sun/awt/CUPSfuncs.c
188index 483f6f7..90812ee 100644
189--- openjdk/jdk/src/solaris/native/sun/awt/CUPSfuncs.c
190+++ openjdk/jdk/src/solaris/native/sun/awt/CUPSfuncs.c
191@@ -25,12 +25,6 @@
192
193 #include <jni.h>
194 #include <jni_util.h>
195-#include <cups/cups.h>
196-#include <cups/ppd.h>
197-
198-#ifndef USE_SYSTEM_CUPS
199-#include <cups_fp.h>
200-#endif
201
202 //#define CUPS_DEBUG
203
204@@ -47,11 +41,7 @@
205 JNIEXPORT jboolean JNICALL
206 Java_sun_print_CUPSPrinter_initIDs(JNIEnv *env,
207 jobject printObj) {
208-#ifndef USE_SYSTEM_CUPS
209- return cups_init();
210-#else
211 return JNI_TRUE;
212-#endif
213 }
214
215 /*
216@@ -62,17 +52,7 @@ JNIEXPORT jstring JNICALL
217 Java_sun_print_CUPSPrinter_getCupsServer(JNIEnv *env,
218 jobject printObj)
219 {
220- jstring cServer = NULL;
221- const char* server = cupsServer();
222- if (server != NULL) {
223- // Is this a local domain socket?
224- if (strncmp(server, "/", 1) == 0) {
225- cServer = JNU_NewStringPlatform(env, "localhost");
226- } else {
227- cServer = JNU_NewStringPlatform(env, server);
228- }
229- }
230- return cServer;
231+ return NULL;
232 }
233
234 /*
235@@ -83,8 +63,7 @@ JNIEXPORT jint JNICALL
236 Java_sun_print_CUPSPrinter_getCupsPort(JNIEnv *env,
237 jobject printObj)
238 {
239- int port = ippPort();
240- return (jint) port;
241+ return 8080;
242 }
243
244
245@@ -98,16 +77,6 @@ Java_sun_print_CUPSPrinter_canConnect(JNIEnv *env,
246 jstring server,
247 jint port)
248 {
249- const char *serverName;
250- serverName = (*env)->GetStringUTFChars(env, server, NULL);
251- if (serverName != NULL) {
252- http_t *http = httpConnect(serverName, (int)port);
253- (*env)->ReleaseStringUTFChars(env, server, serverName);
254- if (http != NULL) {
255- httpClose(http);
256- return JNI_TRUE;
257- }
258- }
259 return JNI_FALSE;
260 }
261
262@@ -120,111 +89,7 @@ Java_sun_print_CUPSPrinter_getMedia(JNIEnv *env,
263 jobject printObj,
264 jstring printer)
265 {
266- ppd_file_t *ppd;
267- ppd_option_t *optionTray, *optionPage;
268- ppd_choice_t *choice;
269- const char *name;
270- const char *filename;
271- int i, nTrays=0, nPages=0, nTotal=0;
272- jstring utf_str;
273- jclass cls;
274- jobjectArray nameArray = NULL;
275-
276- name = (*env)->GetStringUTFChars(env, printer, NULL);
277- if (name == NULL) {
278- return NULL;
279- }
280-
281- // NOTE: cupsGetPPD returns a pointer to a filename of a temporary file.
282- // unlink() must be caled to remove the file when finished using it.
283- filename = cupsGetPPD(name);
284- (*env)->ReleaseStringUTFChars(env, printer, name);
285-
286- cls = (*env)->FindClass(env, "java/lang/String");
287-
288- if (filename == NULL) {
289- return NULL;
290- }
291-
292- if ((ppd = ppdOpenFile(filename)) == NULL) {
293- unlink(filename);
294- DPRINTF("CUPSfuncs::unable to open PPD %s\n", filename);
295- return NULL;
296- }
297-
298- optionPage = ppdFindOption(ppd, "PageSize");
299- if (optionPage != NULL) {
300- nPages = optionPage->num_choices;
301- }
302-
303- optionTray = ppdFindOption(ppd, "InputSlot");
304- if (optionTray != NULL) {
305- nTrays = optionTray->num_choices;
306- }
307-
308- if ((nTotal = (nPages+nTrays) *2) > 0) {
309- nameArray = (*env)->NewObjectArray(env, nTotal, cls, NULL);
310- if (nameArray == NULL) {
311- unlink(filename);
312- ppdClose(ppd);
313- DPRINTF("CUPSfuncs::bad alloc new array\n", "")
314- JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
315- return NULL;
316- }
317-
318- for (i = 0; optionPage!=NULL && i<nPages; i++) {
319- choice = (optionPage->choices)+i;
320- utf_str = JNU_NewStringPlatform(env, choice->text);
321- if (utf_str == NULL) {
322- unlink(filename);
323- ppdClose(ppd);
324- DPRINTF("CUPSfuncs::bad alloc new string ->text\n", "")
325- JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
326- return NULL;
327- }
328- (*env)->SetObjectArrayElement(env, nameArray, i*2, utf_str);
329- (*env)->DeleteLocalRef(env, utf_str);
330- utf_str = JNU_NewStringPlatform(env, choice->choice);
331- if (utf_str == NULL) {
332- unlink(filename);
333- ppdClose(ppd);
334- DPRINTF("CUPSfuncs::bad alloc new string ->choice\n", "")
335- JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
336- return NULL;
337- }
338- (*env)->SetObjectArrayElement(env, nameArray, i*2+1, utf_str);
339- (*env)->DeleteLocalRef(env, utf_str);
340- }
341-
342- for (i = 0; optionTray!=NULL && i<nTrays; i++) {
343- choice = (optionTray->choices)+i;
344- utf_str = JNU_NewStringPlatform(env, choice->text);
345- if (utf_str == NULL) {
346- unlink(filename);
347- ppdClose(ppd);
348- DPRINTF("CUPSfuncs::bad alloc new string text\n", "")
349- JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
350- return NULL;
351- }
352- (*env)->SetObjectArrayElement(env, nameArray,
353- (nPages+i)*2, utf_str);
354- (*env)->DeleteLocalRef(env, utf_str);
355- utf_str = JNU_NewStringPlatform(env, choice->choice);
356- if (utf_str == NULL) {
357- unlink(filename);
358- ppdClose(ppd);
359- DPRINTF("CUPSfuncs::bad alloc new string choice\n", "")
360- JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
361- return NULL;
362- }
363- (*env)->SetObjectArrayElement(env, nameArray,
364- (nPages+i)*2+1, utf_str);
365- (*env)->DeleteLocalRef(env, utf_str);
366- }
367- }
368- ppdClose(ppd);
369- unlink(filename);
370- return nameArray;
371+ return NULL;
372 }
373
374
375@@ -236,63 +101,5 @@ Java_sun_print_CUPSPrinter_getPageSizes(JNIEnv *env,
376 jobject printObj,
377 jstring printer)
378 {
379- ppd_file_t *ppd;
380- ppd_option_t *option;
381- ppd_choice_t *choice;
382- ppd_size_t *size;
383-
384- const char *name = (*env)->GetStringUTFChars(env, printer, NULL);
385- const char *filename;
386- int i;
387- jobjectArray sizeArray = NULL;
388- jfloat *dims;
389-
390- // NOTE: cupsGetPPD returns a pointer to a filename of a temporary file.
391- // unlink() must be called to remove the file after using it.
392- filename = cupsGetPPD(name);
393- (*env)->ReleaseStringUTFChars(env, printer, name);
394- if (filename == NULL) {
395- return NULL;
396- }
397- if ((ppd = ppdOpenFile(filename)) == NULL) {
398- unlink(filename);
399- DPRINTF("unable to open PPD %s\n", filename)
400- return NULL;
401- }
402- option = ppdFindOption(ppd, "PageSize");
403- if (option != NULL && option->num_choices > 0) {
404- // create array of dimensions - (num_choices * 6)
405- //to cover length & height
406- DPRINTF( "CUPSfuncs::option->num_choices %d\n", option->num_choices)
407- sizeArray = (*env)->NewFloatArray(env, option->num_choices*6);
408- if (sizeArray == NULL) {
409- unlink(filename);
410- ppdClose(ppd);
411- DPRINTF("CUPSfuncs::bad alloc new float array\n", "")
412- JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
413- return NULL;
414- }
415-
416- dims = (*env)->GetFloatArrayElements(env, sizeArray, NULL);
417- for (i = 0; i<option->num_choices; i++) {
418- choice = (option->choices)+i;
419- size = ppdPageSize(ppd, choice->choice);
420- if (size != NULL) {
421- // paper width and height
422- dims[i*6] = size->width;
423- dims[(i*6)+1] = size->length;
424- // paper printable area
425- dims[(i*6)+2] = size->left;
426- dims[(i*6)+3] = size->top;
427- dims[(i*6)+4] = size->right;
428- dims[(i*6)+5] = size->bottom;
429- }
430- }
431-
432- (*env)->ReleaseFloatArrayElements(env, sizeArray, dims, 0);
433- }
434-
435- ppdClose(ppd);
436- unlink(filename);
437- return sizeArray;
438+ return NULL;
439 }
440diff --git openjdk/jdk/make/sun/Makefile openjdk/jdk/make/sun/Makefile
441index 4c19f4e..ef0e8be 100644
442--- openjdk/jdk/make/sun/Makefile
443+++ openjdk/jdk/make/sun/Makefile
444@@ -74,7 +74,7 @@ ifdef BUILD_HEADLESS_ONLY
445 DISPLAY_LIBS = awt $(HEADLESS_SUBDIR)
446 DISPLAY_TOOLS =
447 else
448- DISPLAY_LIBS = awt splashscreen $(XAWT_SUBDIR) $(HEADLESS_SUBDIR)
449+ DISPLAY_LIBS = awt $(XAWT_SUBDIR) $(HEADLESS_SUBDIR)
450 DISPLAY_TOOLS = applet
451 endif
452 SUBDIRS_desktop = audio $(RENDER_SUBDIR) image \
453diff --git openjdk/jdk/make/sun/xawt/Makefile openjdk/jdk/make/sun/xawt/Makefile
454index e7d54e2..de23453 100644
455--- openjdk/jdk/make/sun/xawt/Makefile
456+++ openjdk/jdk/make/sun/xawt/Makefile
457@@ -46,15 +46,12 @@ include FILES_export_unix.gmk
458 AUTO_FILES_JAVA_DIRS = sun/awt/X11
459 AUTO_JAVA_PRUNE = WrapperGenerator.java
460
461-LDFLAGS += -L$(OPENWIN_LIB)
462-
463 # For Xrender extension.
464 ifeq ($(PLATFORM), solaris)
465 LDFLAGS += -L/usr/openwin/sfw/lib$(ISA_DIR) -R/usr/openwin/sfw/lib$(ISA_DIR)
466 endif
467
468 ifeq ($(PLATFORM), linux)
469-LDFLAGS += -lpthread
470 dummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
471 endif
472
473@@ -96,9 +93,7 @@ ifndef USE_SYSTEM_GIO
474 vpath %.c $(PLATFORM_SRC)/native/common/deps/glib2
475 endif
476
477-ifndef USE_SYSTEM_GTK
478 vpath %.c $(PLATFORM_SRC)/native/common/deps/gtk2
479-endif
480
481 ifndef USE_SYSTEM_CUPS
482 vpath %.c $(PLATFORM_SRC)/native/common/deps
483@@ -109,15 +104,7 @@ vpath %.c $(PLATFORM_SRC)/native/common/deps/fontconfig2
484 endif
485
486 OTHER_LDLIBS = $(LIBM) -lawt -lXext -lX11 -lXrender -ldl \
487- $(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS) -lXtst -lXi
488-
489-ifdef USE_SYSTEM_GTK
490- OTHER_LDLIBS += $(GTK_LIBS)
491-endif
492-
493-ifdef USE_SYSTEM_CUPS
494- OTHER_LDLIBS += $(CUPS_LIBS)
495-endif
496+ $(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS)
497
498 ifdef USE_SYSTEM_FONTCONFIG
499 OTHER_LDLIBS += $(FONTCONFIG_LIBS)
500@@ -132,12 +119,6 @@ CPPFLAGS += -DFUNCPROTO=15
501 dummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
502 endif
503
504-ifdef CUPS_CFLAGS
505- CPPFLAGS += $(CUPS_CFLAGS)
506-else
507- CPPFLAGS += -I$(CUPS_HEADERS_PATH)
508-endif
509-
510 CPPFLAGS += -DXAWT -DXAWT_HACK \
511 -I$(TEMPDIR)/../../sun.awt/awt/CClassHeaders \
512 -I$(PLATFORM_SRC)/native/sun/awt \
513@@ -164,17 +145,7 @@ CPPFLAGS += -DXAWT -DXAWT_HACK \
514 -I$(SHARE_SRC)/native/sun/awt \
515 -I$(PLATFORM_SRC)/native/sun/awt
516
517-ifdef USE_SYSTEM_GTK
518- CPPFLAGS += $(GTK_CFLAGS) -DUSE_SYSTEM_GTK
519-else
520- CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/gtk2
521-endif
522-
523-ifdef USE_SYSTEM_CUPS
524- CPPFLAGS += -DUSE_SYSTEM_CUPS
525-else
526- CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps
527-endif
528+CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/gtk2
529
530 ifdef USE_SYSTEM_FONTCONFIG
531 CPPFLAGS += $(FONTCONFIG_CFLAGS) -DUSE_SYSTEM_FONTCONFIG
532@@ -188,20 +159,6 @@ else
533 CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/glib2
534 endif
535
536-ifeq ($(PLATFORM), linux)
537- ifndef CROSS_COMPILE_ARCH
538- # Allows for builds on Debian GNU Linux, X11 is in a different place
539- # This should really be handled at a higher-level so we don't have to
540- # work-around this when cross-compiling
541- CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
542- -I/usr/include/X11/extensions \
543- -I$(OPENWIN_HOME)/include
544- else
545- CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
546- -I$(OPENWIN_HOME)/include
547- endif
548-endif
549-
550 # We have some odd logic here because some Solaris 10 updates
551 # have a render.h file that suggests gradients are supported, but
552 # the Xrender.h doesn't have the corresponding type definitions.
553diff --git openjdk/jdk/make/sun/xawt/FILES_c_unix.gmk openjdk/jdk/make/sun/xawt/FILES_c_unix.gmk
554index 57b34c3..c629f78 100644
555--- openjdk/jdk/make/sun/xawt/FILES_c_unix.gmk
556+++ openjdk/jdk/make/sun/xawt/FILES_c_unix.gmk
557@@ -84,15 +84,8 @@ FILES_c = \
558 XRSurfaceData.c \
559 XRBackendNative.c
560
561-ifndef USE_SYSTEM_GTK
562 FILES_c += \
563 gtk_fp.c
564-endif
565-
566-ifndef USE_SYSTEM_CUPS
567-FILES_c += \
568- cups_fp.c
569-endif
570
571 ifndef USE_SYSTEM_FONTCONFIG
572 FILES_c += \
573diff --git openjdk/jdk/make/sun/awt/FILES_c_unix.gmk openjdk/jdk/make/sun/awt/FILES_c_unix.gmk
574index dc1f61e..489abc1 100644
575--- openjdk/jdk/make/sun/awt/FILES_c_unix.gmk
576+++ openjdk/jdk/make/sun/awt/FILES_c_unix.gmk
577@@ -230,11 +230,6 @@ FILES_NO_MOTIF_c = \
578 AccelGlyphCache.c \
579 CUPSfuncs.c
580
581-ifndef USE_SYSTEM_CUPS
582-FILES_NO_MOTIF_c += \
583- cups_fp.c
584-endif
585-
586 ifndef USE_SYSTEM_FONTCONFIG
587 FILES_NO_MOTIF_c += \
588 fontconfig_fp.c
589diff --git openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
590index 5de53ca..b598a22 100644
591--- openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
592+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
593@@ -29,7 +29,7 @@
594 #include "X11SurfaceData.h"
595
596 /*#include <xcb/xcb.h>*/
597-#include <Xrender.h>
598+#include <X11/extensions/Xrender.h>
599
600 #ifndef RepeatNone /* added in 0.10 */
601 #define RepeatNone 0
602diff --git openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c
603index c3384b2..867e40f 100644
604--- openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c
605+++ openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c
606@@ -35,10 +35,6 @@
607 #include <X11/Intrinsic.h>
608 #include <X11/Xutil.h>
609 #include <X11/Xmd.h>
610-#include <X11/extensions/xtestext1.h>
611-#include <X11/extensions/XTest.h>
612-#include <X11/extensions/XInput.h>
613-#include <X11/extensions/XI.h>
614 #include <jni.h>
615 #include "robot_common.h"
616 #include "canvas.h"
617@@ -55,37 +51,7 @@ static jint * masks;
618 static jint num_buttons;
619
620 static int32_t isXTestAvailable() {
621- int32_t major_opcode, first_event, first_error;
622- int32_t event_basep, error_basep, majorp, minorp;
623- int32_t isXTestAvailable;
624-
625- /* check if XTest is available */
626- isXTestAvailable = XQueryExtension(awt_display, XTestExtensionName, &major_opcode, &first_event, &first_error);
627- DTRACE_PRINTLN3("RobotPeer: XQueryExtension(XTEST) returns major_opcode = %d, first_event = %d, first_error = %d",
628- major_opcode, first_event, first_error);
629- if (isXTestAvailable) {
630- /* check if XTest version is OK */
631- XTestQueryExtension(awt_display, &event_basep, &error_basep, &majorp, &minorp);
632- DTRACE_PRINTLN4("RobotPeer: XTestQueryExtension returns event_basep = %d, error_basep = %d, majorp = %d, minorp = %d",
633- event_basep, error_basep, majorp, minorp);
634- if (majorp < 2 || (majorp == 2 && minorp < 2)) {
635- /* bad version*/
636- DTRACE_PRINTLN2("XRobotPeer: XTEST version is %d.%d \n", majorp, minorp);
637- if (majorp == 2 && minorp == 1) {
638- DTRACE_PRINTLN("XRobotPeer: XTEST is 2.1 - no grab is available\n");
639- } else {
640- isXTestAvailable = False;
641- }
642- } else {
643- /* allow XTest calls even if someone else has the grab; e.g. during
644- * a window resize operation. Works only with XTEST2.2*/
645- XTestGrabControl(awt_display, True);
646- }
647- } else {
648- DTRACE_PRINTLN("RobotPeer: XTEST extension is unavailable");
649- }
650-
651- return isXTestAvailable;
652+ return False;
653 }
654
655
656@@ -265,37 +231,12 @@ Java_sun_awt_X11_XRobotPeer_keyPressImpl (JNIEnv *env,
657 jclass cls,
658 jint keycode) {
659
660- AWT_LOCK();
661-
662- DTRACE_PRINTLN1("RobotPeer: keyPressImpl(%i)", keycode);
663-
664- XTestFakeKeyEvent(awt_display,
665- XKeysymToKeycode(awt_display, awt_getX11KeySym(keycode)),
666- True,
667- CurrentTime);
668-
669- XSync(awt_display, False);
670-
671- AWT_UNLOCK();
672-
673 }
674
675 JNIEXPORT void JNICALL
676 Java_sun_awt_X11_XRobotPeer_keyReleaseImpl (JNIEnv *env,
677 jclass cls,
678 jint keycode) {
679- AWT_LOCK();
680-
681- DTRACE_PRINTLN1("RobotPeer: keyReleaseImpl(%i)", keycode);
682-
683- XTestFakeKeyEvent(awt_display,
684- XKeysymToKeycode(awt_display, awt_getX11KeySym(keycode)),
685- False,
686- CurrentTime);
687-
688- XSync(awt_display, False);
689-
690- AWT_UNLOCK();
691 }
692
693 JNIEXPORT void JNICALL
694@@ -328,43 +269,6 @@ void mouseAction(JNIEnv *env,
695 jint buttonMask,
696 Bool isMousePress)
697 {
698- AWT_LOCK();
699-
700- DTRACE_PRINTLN1("RobotPeer: mouseAction(%i)", buttonMask);
701- DTRACE_PRINTLN1("RobotPeer: mouseAction, press = %d", isMousePress);
702-
703- if (buttonMask & java_awt_event_InputEvent_BUTTON1_MASK ||
704- buttonMask & java_awt_event_InputEvent_BUTTON1_DOWN_MASK )
705- {
706- XTestFakeButtonEvent(awt_display, 1, isMousePress, CurrentTime);
707- }
708- if ((buttonMask & java_awt_event_InputEvent_BUTTON2_MASK ||
709- buttonMask & java_awt_event_InputEvent_BUTTON2_DOWN_MASK) &&
710- (num_buttons >= 2)) {
711- XTestFakeButtonEvent(awt_display, 2, isMousePress, CurrentTime);
712- }
713- if ((buttonMask & java_awt_event_InputEvent_BUTTON3_MASK ||
714- buttonMask & java_awt_event_InputEvent_BUTTON3_DOWN_MASK) &&
715- (num_buttons >= 3)) {
716- XTestFakeButtonEvent(awt_display, 3, isMousePress, CurrentTime);
717- }
718-
719- if (num_buttons > 3){
720- int32_t i;
721- int32_t button = 0;
722- for (i = 3; i<num_buttons; i++){
723- if ((buttonMask & masks[i])) {
724- // arrays starts from zero index => +1
725- // users wants to affect 4 or 5 button but they are assigned
726- // to the wheel so => we have to shift it to the right by 2.
727- button = i + 3;
728- XTestFakeButtonEvent(awt_display, button, isMousePress, CurrentTime);
729- }
730- }
731- }
732-
733- XSync(awt_display, False);
734- AWT_UNLOCK();
735 }
736
737 JNIEXPORT void JNICALL
738@@ -389,22 +293,4 @@ Java_sun_awt_X11_XRobotPeer_mouseWheelImpl (JNIEnv *env,
739 /* probably could have been hacked into robot_mouseButtonEvent, but it's */
740 /* cleaner to give it its own command type, in case the implementation */
741 /* needs to be changed later. -bchristi, 6/20/01 */
742-
743- int32_t repeat = abs(wheelAmt);
744- int32_t button = wheelAmt < 0 ? 4 : 5; /* wheel up: button 4 */
745- /* wheel down: button 5 */
746- int32_t loopIdx;
747-
748- AWT_LOCK();
749-
750- DTRACE_PRINTLN1("RobotPeer: mouseWheelImpl(%i)", wheelAmt);
751-
752- for (loopIdx = 0; loopIdx < repeat; loopIdx++) { /* do nothing for */
753- /* wheelAmt == 0 */
754- XTestFakeButtonEvent(awt_display, button, True, CurrentTime);
755- XTestFakeButtonEvent(awt_display, button, False, CurrentTime);
756- }
757- XSync(awt_display, False);
758-
759- AWT_UNLOCK();
760 }
761diff --git openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
762index 0e6d021..7dc1c5d 100644
763--- openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
764+++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
765@@ -45,7 +45,6 @@
766 #include "sun_awt_X11_XToolkit.h"
767 #include "java_awt_SystemColor.h"
768 #include "java_awt_TrayIcon.h"
769-#include <X11/extensions/XTest.h>
770
771 #include <unistd.h>
772
773@@ -1028,66 +1027,7 @@ JNIEXPORT jint JNICALL Java_sun_awt_X11_XToolkit_getNumberOfButtonsImpl
774 }
775
776 int32_t getNumButtons() {
777- int32_t major_opcode, first_event, first_error;
778- int32_t xinputAvailable;
779- int32_t numDevices, devIdx, clsIdx;
780- XDeviceInfo* devices;
781- XDeviceInfo* aDevice;
782- XButtonInfo* bInfo;
783- int32_t local_num_buttons = 0;
784-
785- /* 4700242:
786- * If XTest is asked to press a non-existant mouse button
787- * (i.e. press Button3 on a system configured with a 2-button mouse),
788- * then a crash may happen. To avoid this, we use the XInput
789- * extension to query for the number of buttons on the XPointer, and check
790- * before calling XTestFakeButtonEvent().
791- */
792- xinputAvailable = XQueryExtension(awt_display, INAME, &major_opcode, &first_event, &first_error);
793- DTRACE_PRINTLN3("RobotPeer: XQueryExtension(XINPUT) returns major_opcode = %d, first_event = %d, first_error = %d",
794- major_opcode, first_event, first_error);
795- if (xinputAvailable) {
796- devices = XListInputDevices(awt_display, &numDevices);
797- for (devIdx = 0; devIdx < numDevices; devIdx++) {
798- aDevice = &(devices[devIdx]);
799-#ifdef IsXExtensionPointer
800- if (aDevice->use == IsXExtensionPointer) {
801- for (clsIdx = 0; clsIdx < aDevice->num_classes; clsIdx++) {
802- if (aDevice->inputclassinfo[clsIdx].class == ButtonClass) {
803- bInfo = (XButtonInfo*)(&(aDevice->inputclassinfo[clsIdx]));
804- local_num_buttons = bInfo->num_buttons;
805- DTRACE_PRINTLN1("RobotPeer: XPointer has %d buttons", num_buttons);
806- break;
807- }
808- }
809- break;
810- }
811-#endif
812- if (local_num_buttons <= 0 ) {
813- if (aDevice->use == IsXPointer) {
814- for (clsIdx = 0; clsIdx < aDevice->num_classes; clsIdx++) {
815- if (aDevice->inputclassinfo[clsIdx].class == ButtonClass) {
816- bInfo = (XButtonInfo*)(&(aDevice->inputclassinfo[clsIdx]));
817- local_num_buttons = bInfo->num_buttons;
818- DTRACE_PRINTLN1("RobotPeer: XPointer has %d buttons", num_buttons);
819- break;
820- }
821- }
822- break;
823- }
824- }
825- }
826-
827- XFreeDeviceList(devices);
828- }
829- else {
830- DTRACE_PRINTLN1("RobotPeer: XINPUT extension is unavailable, assuming %d mouse buttons", num_buttons);
831- }
832- if (local_num_buttons == 0 ) {
833- local_num_buttons = 3;
834- }
835-
836- return local_num_buttons;
837+ return 3;
838 }
839
840 /*
diff --git a/recipes-core/icedtea/openjdk-7-03b147/icedtea-flags.patch b/recipes-core/icedtea/openjdk-7-03b147/icedtea-flags.patch
new file mode 100644
index 0000000..bc6ee5d
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/icedtea-flags.patch
@@ -0,0 +1,153 @@
1diff --git openjdk/hotspot/agent/src/os/linux/Makefile openjdk/hotspot/agent/src/os/linux/Makefile
2index 25d43ae..ac3de8b 100644
3--- openjdk/hotspot/agent/src/os/linux/Makefile
4+++ openjdk/hotspot/agent/src/os/linux/Makefile
5@@ -45,7 +45,7 @@ OBJS = $(SOURCES:.c=.o)
6
7 LIBS = -lthread_db
8
9-CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES)
10+CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) $(OE_CFLAGS)
11
12 LIBSA = $(ARCH)/libsaproc.so
13
14@@ -65,13 +65,7 @@ ifndef LDNOMAP
15 LFLAGS_LIBSA = -Xlinker --version-script=mapfile
16 endif
17
18-# If this is a --hash-style=gnu system, use --hash-style=both
19-# The gnu .hash section won't work on some Linux systems like SuSE 10.
20-_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | grep -- '--hash-style=gnu')
21-ifneq ($(_HAS_HASH_STYLE_GNU),)
22- LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
23-endif
24-LFLAGS_LIBSA += $(LDFLAGS_HASH_STYLE)
25+LFLAGS_LIBSA += $(OE_LDFLAGS)
26
27 $(LIBSA): $(OBJS) mapfile
28 if [ ! -d $(ARCH) ] ; then mkdir $(ARCH) ; fi
29diff --git openjdk/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make
30index 8220d5f..3c96818 100644
31--- openjdk/hotspot/make/linux/makefiles/vm.make
32+++ openjdk/hotspot/make/linux/makefiles/vm.make
33@@ -116,6 +116,10 @@ CFLAGS += $(CFLAGS/NOEX)
34 CFLAGS += $(EXTRA_CFLAGS)
35 LFLAGS += $(EXTRA_CFLAGS)
36
37+# oe flags
38+CFLAGS += $(OE_CFLAGS)
39+LFLAGS += $(OE_LDFLAGS)
40+
41 # Don't set excutable bit on stack segment
42 # the same could be done by separate execstack command
43 LFLAGS += -Xlinker -z -Xlinker noexecstack
44diff --git openjdk/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
45index 1979420..c34e40f 100644
46--- openjdk/hotspot/make/linux/makefiles/gcc.make
47+++ openjdk/hotspot/make/linux/makefiles/gcc.make
48@@ -160,7 +160,7 @@ CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS)
49 CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
50
51 # The flags to use for an Optimized g++ build
52-OPT_CFLAGS += -O3
53+OPT_CFLAGS += $(OE_CFLAGS)
54
55 # Hotspot uses very unstrict aliasing turn this optimization off
56 OPT_CFLAGS += -fno-strict-aliasing
57@@ -204,15 +204,7 @@ LFLAGS += -Wl,-relax
58 endif
59
60 # Enable linker optimization
61-LFLAGS += -Xlinker -O1
62-
63-# If this is a --hash-style=gnu system, use --hash-style=both
64-# The gnu .hash section won't work on some Linux systems like SuSE 10.
65-_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | grep -- '--hash-style=gnu')
66-ifneq ($(_HAS_HASH_STYLE_GNU),)
67- LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
68-endif
69-LFLAGS += $(LDFLAGS_HASH_STYLE)
70+LFLAGS += $(OE_LDFLAGS)
71
72 # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
73 MAPFLAG = -Xlinker --version-script=FILENAME
74diff --git openjdk/jdk/make/common/Defs-linux.gmk openjdk/jdk/make/common/Defs-linux.gmk
75index 4e9c696..d8d7431 100644
76--- openjdk/jdk/make/common/Defs-linux.gmk
77+++ openjdk/jdk/make/common/Defs-linux.gmk
78@@ -125,35 +125,13 @@ else
79 endif
80 endif
81
82-#
83-# Default optimization
84-#
85-
86-ifndef OPTIMIZATION_LEVEL
87- ifeq ($(PRODUCT), java)
88- OPTIMIZATION_LEVEL = HIGHER
89- else
90- OPTIMIZATION_LEVEL = LOWER
91- endif
92-endif
93-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
94- FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
95-endif
96-
97-CC_OPT/NONE =
98-CC_OPT/LOWER = -O2
99-CC_OPT/HIGHER = -O3
100-CC_OPT/HIGHEST = -O3
101-
102-CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL))
103-
104 # For all platforms, do not omit the frame pointer register usage.
105 # We need this frame pointer to make it easy to walk the stacks.
106 # This should be the default on X86, but ia64 and amd64 may not have this
107 # as the default.
108 CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN
109 CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
110-CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN
111+CFLAGS_REQUIRED_arm += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
112 CFLAGS_REQUIRED_hppa +=
113 CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
114 CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
115@@ -182,14 +160,6 @@ else
116 LDFLAGS_COMMON += $(LDFLAGS_COMMON_$(ARCH))
117 endif
118
119-# If this is a --hash-style=gnu system, use --hash-style=both
120-# The gnu .hash section won't work on some Linux systems like SuSE 10.
121-_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | $(GREP) -- '--hash-style=gnu')
122-ifneq ($(_HAS_HASH_STYLE_GNU),)
123- LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
124-endif
125-LDFLAGS_COMMON += $(LDFLAGS_HASH_STYLE)
126-
127 #
128 # Selection of warning messages
129 #
130@@ -232,12 +202,12 @@ ifeq ($(DEBUG_BINARIES), true)
131 CFLAGS_REQUIRED += $(DEBUG_FLAG)
132 endif
133
134-CFLAGS_OPT = $(CC_OPT)
135+CFLAGS_OPT = $(OE_CFLAGS)
136 CFLAGS_DBG = $(DEBUG_FLAG)
137 CFLAGS_COMMON += $(CFLAGS_REQUIRED)
138
139 CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
140-CXXFLAGS_OPT = $(CC_OPT)
141+CXXFLAGS_OPT = $(OE_CXXFLAGS)
142 CXXFLAGS_DBG = $(DEBUG_FLAG)
143 CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
144
145@@ -308,7 +278,7 @@ LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
146 #
147 # -L paths for finding and -ljava
148 #
149-LDFLAGS_OPT = -Xlinker -O1
150+LDFLAGS_OPT = $(OE_LDFLAGS)
151 LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
152 LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
153
diff --git a/recipes-core/icedtea/openjdk-7-03b147/icedtea-hotspot-make-arch-sane-for-x86.patch b/recipes-core/icedtea/openjdk-7-03b147/icedtea-hotspot-make-arch-sane-for-x86.patch
new file mode 100644
index 0000000..be4a7d0
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/icedtea-hotspot-make-arch-sane-for-x86.patch
@@ -0,0 +1,622 @@
1From bd7c262396b7e21311c0ef983743672eb245fed7 Mon Sep 17 00:00:00 2001
2From: Henning Heinold <heinold@inf.fu-berlin.de>
3Date: Wed, 14 Mar 2012 22:15:47 +0100
4Subject: [PATCH] foo
5
6---
7 hotspot/agent/make/saenv.sh | 4 +-
8 hotspot/make/defs.make | 4 +-
9 hotspot/make/jprt.properties | 98 +++---
10 hotspot/make/linux/build.sh | 2 +-
11 hotspot/make/linux/makefiles/buildtree.make | 4 +-
12 hotspot/make/linux/makefiles/defs.make | 24 +-
13 hotspot/make/linux/makefiles/gcc.make | 2 +-
14 hotspot/make/linux/makefiles/i486.make | 34 --
15 hotspot/make/linux/makefiles/sparcWorks.make | 2 +-
16 hotspot/make/linux/makefiles/x86.make | 34 ++
17 hotspot/make/linux/platform_i486 | 15 -
18 hotspot/make/linux/platform_x86 | 15 +
19 hotspot/src/os/linux/vm/os_linux.cpp | 6 +-
20 hotspot/src/os/posix/launcher/java_md.c | 26 +-
21 hotspot/src/share/tools/hsdis/Makefile | 4 +-
22 hotspot/src/share/tools/hsdis/hsdis.c | 500 ++++++++++++++++++++++++++
23 16 files changed, 637 insertions(+), 137 deletions(-)
24 delete mode 100644 hotspot/make/linux/makefiles/i486.make
25 create mode 100644 hotspot/make/linux/makefiles/x86.make
26 delete mode 100644 hotspot/make/linux/platform_i486
27 create mode 100644 hotspot/make/linux/platform_x86
28
29diff --git openjdk/hotspot/agent/make/saenv.sh openjdk/hotspot/agent/make/saenv.sh
30index 81c2d15..4cc3a28 100644
31--- openjdk/hotspot/agent/make/saenv.sh
32+++ openjdk/hotspot/agent/make/saenv.sh
33@@ -43,9 +43,9 @@ if [ "$OS" = "Linux" ]; then
34 OPTIONS="-Dsa.library.path=$SA_LIBPATH"
35 CPU=amd64
36 else
37- SA_LIBPATH=$STARTDIR/../src/os/linux/i386:$STARTDIR/linux/i386
38+ SA_LIBPATH=$STARTDIR/../src/os/linux/x86:$STARTDIR/linux/x86
39 OPTIONS="-Dsa.library.path=$SA_LIBPATH"
40- CPU=i386
41+ CPU=x86
42 fi
43 else
44 # configure audit helper library if SA_ALTROOT is set
45diff --git openjdk/hotspot/make/defs.make openjdk/hotspot/make/defs.make
46index fe6c4a2..7ae5b1e 100644
47--- openjdk/hotspot/make/defs.make
48+++ openjdk/hotspot/make/defs.make
49@@ -216,7 +216,7 @@ ifneq ($(OSNAME),windows)
50 ifdef LP64
51 BUILDARCH = amd64
52 else
53- BUILDARCH = i486
54+ BUILDARCH = x86
55 endif
56 endif
57 ifeq ($(BUILDARCH), sparc)
58@@ -227,7 +227,7 @@ ifneq ($(OSNAME),windows)
59
60 # LIBARCH is 1:1 mapping from BUILDARCH
61 LIBARCH = $(LIBARCH/$(BUILDARCH))
62- LIBARCH/i486 = i386
63+ LIBARCH/x86 = x86
64 LIBARCH/amd64 = amd64
65 LIBARCH/sparc = sparc
66 LIBARCH/sparcv9 = sparcv9
67diff --git openjdk/hotspot/make/jprt.properties openjdk/hotspot/make/jprt.properties
68index 4c88ed0..e35cb84 100644
69--- openjdk/hotspot/make/jprt.properties
70+++ openjdk/hotspot/make/jprt.properties
71@@ -106,19 +106,19 @@ jprt.my.solaris.x64.ejdk7=${jprt.my.solaris.x64.jdk7}
72 jprt.my.solaris.x64.ejdk6=${jprt.my.solaris.x64.jdk6}
73 jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}}
74
75-jprt.my.linux.i586.jdk8=linux_i586_2.6
76-jprt.my.linux.i586.jdk7=linux_i586_2.6
77-jprt.my.linux.i586.jdk7b107=linux_i586_2.6
78-jprt.my.linux.i586.jdk7temp=linux_i586_2.6
79-jprt.my.linux.i586.jdk6=linux_i586_2.4
80-jprt.my.linux.i586.jdk6perf=linux_i586_2.4
81-jprt.my.linux.i586.jdk6u10=linux_i586_2.4
82-jprt.my.linux.i586.jdk6u14=linux_i586_2.4
83-jprt.my.linux.i586.jdk6u18=linux_i586_2.4
84-jprt.my.linux.i586.jdk6u20=linux_i586_2.4
85-jprt.my.linux.i586.ejdk7=linux_i586_2.6
86-jprt.my.linux.i586.ejdk6=linux_i586_2.6
87-jprt.my.linux.i586=${jprt.my.linux.i586.${jprt.tools.default.release}}
88+jprt.my.linux.x86.jdk8=linux_x86_2.6
89+jprt.my.linux.x86.jdk7=linux_x86_2.6
90+jprt.my.linux.x86.jdk7b107=linux_x86_2.6
91+jprt.my.linux.x86.jdk7temp=linux_x86_2.6
92+jprt.my.linux.x86.jdk6=linux_x86_2.4
93+jprt.my.linux.x86.jdk6perf=linux_x86_2.4
94+jprt.my.linux.x86.jdk6u10=linux_x86_2.4
95+jprt.my.linux.x86.jdk6u14=linux_x86_2.4
96+jprt.my.linux.x86.jdk6u18=linux_x86_2.4
97+jprt.my.linux.x86.jdk6u20=linux_x86_2.4
98+jprt.my.linux.x86.ejdk7=linux_x86_2.6
99+jprt.my.linux.x86.ejdk6=linux_x86_2.6
100+jprt.my.linux.x86=${jprt.my.linux.x86.${jprt.tools.default.release}}
101
102 jprt.my.linux.x64.jdk8=linux_x64_2.6
103 jprt.my.linux.x64.jdk7=linux_x64_2.6
104@@ -209,7 +209,7 @@ jprt.build.targets.standard= \
105 ${jprt.my.solaris.sparcv9}-{product|fastdebug|debug}, \
106 ${jprt.my.solaris.i586}-{product|fastdebug|debug}, \
107 ${jprt.my.solaris.x64}-{product|fastdebug|debug}, \
108- ${jprt.my.linux.i586}-{product|fastdebug|debug}, \
109+ ${jprt.my.linux.x86}-{product|fastdebug|debug}, \
110 ${jprt.my.linux.x64}-{product|fastdebug}, \
111 ${jprt.my.windows.i586}-{product|fastdebug|debug}, \
112 ${jprt.my.windows.x64}-{product|fastdebug|debug}
113@@ -220,7 +220,7 @@ jprt.build.targets.open= \
114 ${jprt.my.linux.x64}-{productOpen}
115
116 jprt.build.targets.embedded= \
117- ${jprt.my.linux.i586}-{productEmb|fastdebugEmb|debugEmb}, \
118+ ${jprt.my.linux.x86}-{productEmb|fastdebugEmb|debugEmb}, \
119 ${jprt.my.linux.ppc}-{productEmb|fastdebugEmb}, \
120 ${jprt.my.linux.ppcv2}-{productEmb|fastdebugEmb}, \
121 ${jprt.my.linux.ppcsflt}-{productEmb|fastdebugEmb}, \
122@@ -364,33 +364,33 @@ jprt.my.solaris.i586.test.targets= \
123 ${jprt.my.solaris.i586}-fastdebug-c2-jbb_G1, \
124 ${jprt.my.solaris.i586}-fastdebug-c2-jbb_ParOldGC
125
126-jprt.my.linux.i586.test.targets = \
127- ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
128- ${jprt.my.linux.i586}-{product|fastdebug}-c2-jvm98_tiered, \
129- ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-scimark, \
130- ${jprt.my.linux.i586}-product-c1-runThese_Xcomp, \
131- ${jprt.my.linux.i586}-fastdebug-c1-runThese_Xshare, \
132- ${jprt.my.linux.i586}-fastdebug-c2-runThese_Xcomp, \
133- ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_default, \
134- ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
135- ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
136- ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \
137- ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
138- ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_G1, \
139- ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_ParOldGC, \
140- ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_default, \
141- ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_SerialGC, \
142- ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParallelGC, \
143- ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParNewGC, \
144- ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_CMS, \
145- ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_G1, \
146- ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParOldGC, \
147- ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_default, \
148- ${jprt.my.linux.i586}-{product|fastdebug}-c2-jbb_default_tiered, \
149- ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_ParallelGC, \
150- ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_CMS, \
151- ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_G1, \
152- ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_ParOldGC
153+jprt.my.linux.x86.test.targets = \
154+ ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-jvm98, \
155+ ${jprt.my.linux.x86}-{product|fastdebug}-c2-jvm98_tiered, \
156+ ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-scimark, \
157+ ${jprt.my.linux.x86}-product-c1-runThese_Xcomp, \
158+ ${jprt.my.linux.x86}-fastdebug-c1-runThese_Xshare, \
159+ ${jprt.my.linux.x86}-fastdebug-c2-runThese_Xcomp, \
160+ ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_default, \
161+ ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
162+ ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
163+ ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \
164+ ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
165+ ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_G1, \
166+ ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_ParOldGC, \
167+ ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_default, \
168+ ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_SerialGC, \
169+ ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_ParallelGC, \
170+ ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_ParNewGC, \
171+ ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_CMS, \
172+ ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_G1, \
173+ ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_ParOldGC, \
174+ ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_default, \
175+ ${jprt.my.linux.x86}-{product|fastdebug}-c2-jbb_default_tiered, \
176+ ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_ParallelGC, \
177+ ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_CMS, \
178+ ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_G1, \
179+ ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_ParOldGC
180
181 jprt.my.linux.x64.test.targets = \
182 ${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98, \
183@@ -478,26 +478,26 @@ jprt.test.targets.open = \
184 ${jprt.my.linux.x64}-{productOpen|fastdebugOpen}-c2-jvm98_tiered
185
186 # Testing for actual embedded builds is different to standard
187-jprt.my.linux.i586.test.targets.embedded = \
188- linux_i586_2.6-product-c1-scimark
189+jprt.my.linux.x86.test.targets.embedded = \
190+ linux_x86_2.6-product-c1-scimark
191
192 # The complete list of test targets for jprt
193 # Note: no PPC or ARM tests at this stage
194
195 jprt.test.targets.standard = \
196- ${jprt.my.linux.i586.test.targets.embedded}, \
197+ ${jprt.my.linux.x86.test.targets.embedded}, \
198 ${jprt.my.solaris.sparc.test.targets}, \
199 ${jprt.my.solaris.sparcv9.test.targets}, \
200 ${jprt.my.solaris.i586.test.targets}, \
201 ${jprt.my.solaris.x64.test.targets}, \
202- ${jprt.my.linux.i586.test.targets}, \
203+ ${jprt.my.linux.x86.test.targets}, \
204 ${jprt.my.linux.x64.test.targets}, \
205 ${jprt.my.windows.i586.test.targets}, \
206 ${jprt.my.windows.x64.test.targets}, \
207 ${jprt.test.targets.open}
208
209 jprt.test.targets.embedded= \
210- ${jprt.my.linux.i586.test.targets.embedded}, \
211+ ${jprt.my.linux.x86.test.targets.embedded}, \
212 ${jprt.my.solaris.sparc.test.targets}, \
213 ${jprt.my.solaris.sparcv9.test.targets}, \
214 ${jprt.my.solaris.i586.test.targets}, \
215@@ -528,7 +528,7 @@ jprt.test.targets=${jprt.test.targets.${jprt.tools.default.release}}
216 jprt.make.rule.test.targets.standard.client = \
217 ${jprt.my.solaris.sparc}-*-c1-clienttest, \
218 ${jprt.my.solaris.i586}-*-c1-clienttest, \
219- ${jprt.my.linux.i586}-*-c1-clienttest, \
220+ ${jprt.my.linux.x86}-*-c1-clienttest, \
221 ${jprt.my.windows.i586}-*-c1-clienttest
222
223 jprt.make.rule.test.targets.standard.server = \
224@@ -536,7 +536,7 @@ jprt.make.rule.test.targets.standard.server = \
225 ${jprt.my.solaris.sparcv9}-*-c2-servertest, \
226 ${jprt.my.solaris.i586}-*-c2-servertest, \
227 ${jprt.my.solaris.x64}-*-c2-servertest, \
228- ${jprt.my.linux.i586}-*-c2-servertest, \
229+ ${jprt.my.linux.x86}-*-c2-servertest, \
230 ${jprt.my.linux.x64}-*-c2-servertest, \
231 ${jprt.my.windows.i586}-*-c2-servertest, \
232 ${jprt.my.windows.x64}-*-c2-servertest
233diff --git openjdk/hotspot/make/linux/build.sh openjdk/hotspot/make/linux/build.sh
234index f46b8df..b06853f 100644
235--- openjdk/hotspot/make/linux/build.sh
236+++ openjdk/hotspot/make/linux/build.sh
237@@ -43,7 +43,7 @@ esac
238
239 case `uname -m` in
240 i386|i486|i586|i686)
241- mach=i386
242+ mach=x86
243 ;;
244 *)
245 echo "Unsupported machine: " `uname -m`
246diff --git openjdk/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make
247index f8a1e88..ce7b575 100644
248--- openjdk/hotspot/make/linux/makefiles/buildtree.make
249+++ openjdk/hotspot/make/linux/makefiles/buildtree.make
250@@ -30,7 +30,7 @@
251 # The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the
252 # environment or on the command-line:
253 #
254-# ARCH - sparc, i486, ... HotSpot cpu and os_cpu source directory
255+# ARCH - sparc, x86, ... HotSpot cpu and os_cpu source directory
256 # BUILDARCH - build directory
257 # LIBARCH - the corresponding directory in JDK/JRE
258 # GAMMADIR - top of workspace
259@@ -371,7 +371,7 @@ NO_JAVA_HOME_MSG = \
260 DATA_MODE = $(DATA_MODE/$(BUILDARCH))
261 JAVA_FLAG = $(JAVA_FLAG/$(DATA_MODE))
262
263-DATA_MODE/i486 = 32
264+DATA_MODE/x86 = 32
265 DATA_MODE/sparc = 32
266 DATA_MODE/sparcv9 = 64
267 DATA_MODE/amd64 = 64
268diff --git openjdk/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make
269index c327974..757b333 100644
270--- openjdk/hotspot/make/linux/makefiles/defs.make
271+++ openjdk/hotspot/make/linux/makefiles/defs.make
272@@ -72,6 +72,16 @@ ifeq ($(ARCH), sparc64)
273 HS_ARCH = sparc
274 endif
275
276+# x86
277+ifeq ($(findstring 86,$(ARCH)), 86)
278+ ifneq ($(ARCH), x86_64)
279+ ARCH_DATA_MODEL = 32
280+ PLATFORM = linux-x86
281+ VM_PLATFORM = linux_x86
282+ HS_ARCH = x86
283+ endif
284+endif
285+
286 # x86_64
287 ifeq ($(ARCH), x86_64)
288 ifeq ($(ARCH_DATA_MODEL), 64)
289@@ -82,22 +92,12 @@ ifeq ($(ARCH), x86_64)
290 HS_ARCH = x86
291 else
292 ARCH_DATA_MODEL = 32
293- PLATFORM = linux-i586
294- VM_PLATFORM = linux_i486
295+ PLATFORM = linux-x86
296+ VM_PLATFORM = linux_x86
297 HS_ARCH = x86
298- # We have to reset ARCH to i686 since SRCARCH relies on it
299- ARCH = i686
300 endif
301 endif
302
303-# i686
304-ifeq ($(ARCH), i686)
305- ARCH_DATA_MODEL = 32
306- PLATFORM = linux-i586
307- VM_PLATFORM = linux_i486
308- HS_ARCH = x86
309-endif
310-
311 # ARM
312 ifeq ($(ARCH), arm)
313 ARCH_DATA_MODEL = 32
314diff --git openjdk/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
315index 05505d4..1979420 100644
316--- openjdk/hotspot/make/linux/makefiles/gcc.make
317+++ openjdk/hotspot/make/linux/makefiles/gcc.make
318@@ -105,7 +105,7 @@ CFLAGS += -fvisibility=hidden
319 endif
320
321 ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
322-ARCHFLAG/i486 = -m32 -march=i586
323+ARCHFLAG/x86 = -m32
324 ARCHFLAG/amd64 = -m64
325 ARCHFLAG/ia64 =
326 ARCHFLAG/sparc = -m32 -mcpu=v9
327diff --git openjdk/hotspot/make/linux/makefiles/i486.make openjdk/hotspot/make/linux/makefiles/i486.make
328deleted file mode 100644
329index 86e825d..0000000
330--- openjdk/hotspot/make/linux/makefiles/i486.make
331+++ /dev/null
332@@ -1,34 +0,0 @@
333-#
334-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
335-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
336-#
337-# This code is free software; you can redistribute it and/or modify it
338-# under the terms of the GNU General Public License version 2 only, as
339-# published by the Free Software Foundation.
340-#
341-# This code is distributed in the hope that it will be useful, but WITHOUT
342-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
343-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
344-# version 2 for more details (a copy is included in the LICENSE file that
345-# accompanied this code).
346-#
347-# You should have received a copy of the GNU General Public License version
348-# 2 along with this work; if not, write to the Free Software Foundation,
349-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
350-#
351-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
352-# or visit www.oracle.com if you need additional information or have any
353-# questions.
354-#
355-#
356-
357-# TLS helper, assembled from .s file
358-
359-# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
360-OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
361-# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
362-OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
363-# Must also specify if CPU is little endian
364-CFLAGS += -DVM_LITTLE_ENDIAN
365-
366-OPT_CFLAGS/compactingPermGenGen.o = -O1
367diff --git openjdk/hotspot/make/linux/makefiles/sparcWorks.make openjdk/hotspot/make/linux/makefiles/sparcWorks.make
368index 6e6c841..78e5041 100644
369--- openjdk/hotspot/make/linux/makefiles/sparcWorks.make
370+++ openjdk/hotspot/make/linux/makefiles/sparcWorks.make
371@@ -33,7 +33,7 @@ HOSTCPP = $(CPP)
372 HOSTCC = $(CC)
373
374 ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
375-ARCHFLAG/i486 = -m32
376+ARCHFLAG/x86 = -m32
377 ARCHFLAG/amd64 = -m64
378
379 CFLAGS += $(ARCHFLAG)
380diff --git openjdk/hotspot/make/linux/makefiles/x86.make openjdk/hotspot/make/linux/makefiles/x86.make
381new file mode 100644
382index 0000000..86e825d
383--- /dev/null
384+++ openjdk/hotspot/make/linux/makefiles/x86.make
385@@ -0,0 +1,34 @@
386+#
387+# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
388+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
389+#
390+# This code is free software; you can redistribute it and/or modify it
391+# under the terms of the GNU General Public License version 2 only, as
392+# published by the Free Software Foundation.
393+#
394+# This code is distributed in the hope that it will be useful, but WITHOUT
395+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
396+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
397+# version 2 for more details (a copy is included in the LICENSE file that
398+# accompanied this code).
399+#
400+# You should have received a copy of the GNU General Public License version
401+# 2 along with this work; if not, write to the Free Software Foundation,
402+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
403+#
404+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
405+# or visit www.oracle.com if you need additional information or have any
406+# questions.
407+#
408+#
409+
410+# TLS helper, assembled from .s file
411+
412+# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
413+OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
414+# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
415+OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
416+# Must also specify if CPU is little endian
417+CFLAGS += -DVM_LITTLE_ENDIAN
418+
419+OPT_CFLAGS/compactingPermGenGen.o = -O1
420diff --git openjdk/hotspot/make/linux/platform_i486 openjdk/hotspot/make/linux/platform_i486
421deleted file mode 100644
422index 610ac91..0000000
423--- openjdk/hotspot/make/linux/platform_i486
424+++ /dev/null
425@@ -1,15 +0,0 @@
426-os_family = linux
427-
428-arch = x86
429-
430-arch_model = x86_32
431-
432-os_arch = linux_x86
433-
434-os_arch_model = linux_x86_32
435-
436-lib_arch = i386
437-
438-compiler = gcc
439-
440-sysdefs = -DLINUX -D_GNU_SOURCE -DIA32
441diff --git openjdk/hotspot/make/linux/platform_x86 openjdk/hotspot/make/linux/platform_x86
442new file mode 100644
443index 0000000..5c613fe
444--- /dev/null
445+++ openjdk/hotspot/make/linux/platform_x86
446@@ -0,0 +1,15 @@
447+os_family = linux
448+
449+arch = x86
450+
451+arch_model = x86_32
452+
453+os_arch = linux_x86
454+
455+os_arch_model = linux_x86_32
456+
457+lib_arch = x86
458+
459+compiler = gcc
460+
461+sysdefs = -DLINUX -D_GNU_SOURCE -DIA32
462diff --git openjdk/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
463index dd75c42..dd91767 100644
464--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp
465+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
466@@ -261,10 +261,10 @@ bool os::have_special_privileges() {
467
468
469 #ifndef SYS_gettid
470-// i386: 224, ia64: 1105, amd64: 186, sparc 143
471+// x86: 224, ia64: 1105, amd64: 186, sparc 143
472 #ifdef __ia64__
473 #define SYS_gettid 1105
474-#elif __i386__
475+#elif __x86__
476 #define SYS_gettid 224
477 #elif __amd64__
478 #define SYS_gettid 186
479@@ -281,7 +281,7 @@ static char cpu_arch[] = ZERO_LIBARCH;
480 #elif defined(IA64)
481 static char cpu_arch[] = "ia64";
482 #elif defined(IA32)
483-static char cpu_arch[] = "i386";
484+static char cpu_arch[] = "x86";
485 #elif defined(AMD64)
486 static char cpu_arch[] = "amd64";
487 #elif defined(ARM)
488diff --git openjdk/hotspot/src/os/posix/launcher/java_md.c openjdk/hotspot/src/os/posix/launcher/java_md.c
489index 3ee0f20..29374ea 100644
490--- openjdk/hotspot/src/os/posix/launcher/java_md.c
491+++ openjdk/hotspot/src/os/posix/launcher/java_md.c
492@@ -57,8 +57,8 @@
493 * models is supported, then DUAL_MODE is defined. When DUAL_MODE is
494 * defined, the architecture names for the narrow and wide version of
495 * the architecture are defined in LIBARCH64NAME and LIBARCH32NAME. Currently
496- * only Solaris on sparc/sparcv9 and i586/amd64 is DUAL_MODE; linux
497- * i586/amd64 could be defined as DUAL_MODE but that is not the
498+ * only Solaris on sparc/sparcv9 and x86/amd64 is DUAL_MODE; linux
499+ * x86/amd64 could be defined as DUAL_MODE but that is not the
500 * current policy.
501 */
502
503@@ -1175,7 +1175,7 @@ get_cpuid(uint32_t arg,
504
505 #endif /* __sun && i586 */
506
507-#if defined(__linux__) && defined(i586)
508+#if defined(__linux__) && defined(x86)
509
510 /*
511 * A utility method for asking the CPU about itself.
512@@ -1240,11 +1240,11 @@ get_cpuid(uint32_t arg,
513 #endif
514 }
515
516-#endif /* __linux__ && i586 */
517+#endif /* __linux__ && x86 */
518
519-#ifdef i586
520+#if defined(i586) || defined(x86)
521 /*
522- * Routines shared by solaris-i586 and linux-i586.
523+ * Routines shared by solaris-i586 and linux-x86.
524 */
525
526 enum HyperThreadingSupport_enum {
527@@ -1384,7 +1384,7 @@ physical_processors(void) {
528 return result;
529 }
530
531-#endif /* i586 */
532+#endif /* i586 || x86 */
533
534 #if defined(__sun) && defined(i586)
535
536@@ -1419,11 +1419,11 @@ solaris_i586_ServerClassMachine(void) {
537
538 #endif /* __sun && i586 */
539
540-#if defined(__linux__) && defined(i586)
541+#if defined(__linux__) && defined(x86)
542
543-/* The definition of a server-class machine for linux-i586 */
544+/* The definition of a server-class machine for linux-x86 */
545 jboolean
546-linux_i586_ServerClassMachine(void) {
547+linux_x86_ServerClassMachine(void) {
548 jboolean result = JNI_FALSE;
549 /* How big is a server class machine? */
550 const unsigned long server_processors = 2UL;
551@@ -1450,7 +1450,7 @@ linux_i586_ServerClassMachine(void) {
552 return result;
553 }
554
555-#endif /* __linux__ && i586 */
556+#endif /* __linux__ && x86 */
557
558 /* Dispatch to the platform-specific definition of "server-class" */
559 jboolean
560@@ -1464,8 +1464,8 @@ ServerClassMachine(void) {
561 result = solaris_sparc_ServerClassMachine();
562 #elif defined(__sun) && defined(i586)
563 result = solaris_i586_ServerClassMachine();
564-#elif defined(__linux__) && defined(i586)
565- result = linux_i586_ServerClassMachine();
566+#elif defined(__linux__) && defined(x86)
567+ result = linux_x86_ServerClassMachine();
568 #else
569 if (_launcher_debug) {
570 printf("ServerClassMachine: returns default value of %s\n",
571diff --git openjdk/hotspot/src/share/tools/hsdis/Makefile openjdk/hotspot/src/share/tools/hsdis/Makefile
572index 19f9cdb..b2b9092 100644
573--- openjdk/hotspot/src/share/tools/hsdis/Makefile
574+++ openjdk/hotspot/src/share/tools/hsdis/Makefile
575@@ -25,7 +25,7 @@
576 # Single gnu makefile for solaris, linux and windows (windows requires cygwin and mingw)
577
578 # Default arch; it is changed below as needed.
579-ARCH = i386
580+ARCH = x86
581 OS = $(shell uname)
582
583 ## OS = SunOS ##
584@@ -40,7 +40,7 @@ ifdef LP64
585 ifeq ($(ARCH),sparc)
586 ARCH = sparcv9
587 endif
588-ifeq ($(ARCH),i386)
589+ifeq ($(ARCH),x86)
590 ARCH = amd64
591 endif
592 endif
593diff --git openjdk/hotspot/src/share/tools/hsdis/hsdis.c openjdk/hotspot/src/share/tools/hsdis/hsdis.c
594index daea404..2e49766 100644
595--- openjdk/hotspot/src/share/tools/hsdis/hsdis.c
596+++ openjdk/hotspot/src/share/tools/hsdis/hsdis.c
597@@ -384,8 +384,8 @@ static void print_help(struct hsdis_app_data* app_data,
598 else
599 disassembler_usage(stderr); /* better than nothing */
600 (*printf_callback)(printf_stream, " mach=<arch> select disassembly mode\n");
601-#if defined(LIBARCH_i386) || defined(LIBARCH_amd64)
602- (*printf_callback)(printf_stream, " mach=i386 select 32-bit mode\n");
603+#if defined(LIBARCH_x86) || defined(LIBARCH_amd64)
604+ (*printf_callback)(printf_stream, " mach=x86 select 32-bit mode\n");
605 (*printf_callback)(printf_stream, " mach=x86-64 select 64-bit mode\n");
606 (*printf_callback)(printf_stream, " suffix always print instruction suffix\n");
607 #endif
608@@ -406,11 +406,11 @@ static const bfd_arch_info_type* find_arch_info(const char* arch_name) {
609
610 static const char* native_arch_name() {
611 const char* res = NULL;
612-#ifdef LIBARCH_i386
613- res = "i386";
614+#ifdef LIBARCH_x86
615+ res = "x86";
616 #endif
617 #ifdef LIBARCH_amd64
618- res = "i386:x86-64";
619+ res = "x86-64";
620 #endif
621 #ifdef LIBARCH_sparc
622 res = "sparc:v8plusb";
diff --git a/recipes-core/icedtea/openjdk-7-03b147/icedtea-jdk-sane-x86-arch.patch b/recipes-core/icedtea/openjdk-7-03b147/icedtea-jdk-sane-x86-arch.patch
new file mode 100644
index 0000000..0ff00b7
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/icedtea-jdk-sane-x86-arch.patch
@@ -0,0 +1,204 @@
1From 634840cbdefe385590ed170f0ed0f48d4b412550 Mon Sep 17 00:00:00 2001
2From: Henning Heinold <heinold@inf.fu-berlin.de>
3Date: Wed, 14 Mar 2012 22:34:51 +0100
4Subject: [PATCH] real patch
5
6---
7 jdk/make/common/shared/Compiler-gcc.gmk | 4 +-
8 jdk/make/common/shared/Platform.gmk | 18 ++++------
9 jdk/make/javax/sound/SoundDefs.gmk | 6 ++--
10 .../share/native/com/sun/media/sound/SoundDefs.h | 2 +-
11 jdk/src/solaris/bin/i586/jvm.cfg | 38 --------------------
12 jdk/src/solaris/bin/x86/jvm.cfg | 38 ++++++++++++++++++++
13 6 files changed, 51 insertions(+), 55 deletions(-)
14 delete mode 100644 jdk/src/solaris/bin/i586/jvm.cfg
15 create mode 100644 jdk/src/solaris/bin/x86/jvm.cfg
16
17diff --git openjdk/jdk/make/common/shared/Compiler-gcc.gmk openjdk/jdk/make/common/shared/Compiler-gcc.gmk
18index e99068b..a05ca09 100644
19--- openjdk/jdk/make/common/shared/Compiler-gcc.gmk
20+++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk
21@@ -91,8 +91,8 @@ ifeq ($(PLATFORM), linux)
22 REQUIRED_CC_VER = 3.2
23 REQUIRED_GCC_VER = 3.2.*
24 endif
25- ifeq ($(ARCH), i586)
26- # i586
27+ ifeq ($(ARCH), x86)
28+ # x86
29 REQUIRED_CC_VER = 3.2
30 REQUIRED_GCC_VER = 3.2.1*
31 REQUIRED_GCC_VER_INT = 3.2.1-7a
32diff --git openjdk/jdk/make/common/shared/Platform.gmk openjdk/jdk/make/common/shared/Platform.gmk
33index 5b21888..e508be0 100644
34--- openjdk/jdk/make/common/shared/Platform.gmk
35+++ openjdk/jdk/make/common/shared/Platform.gmk
36@@ -53,11 +53,11 @@ PLATFORM_SHARED=done
37 # VARIANT OPT or DBG, OPT is the default
38 # TEMP_DISK /tmp or C:/temp
39 # ARCH_DATA_MODEL 32 or 64
40-# ARCH sparc, sparcv9, i586, amd64, or ia64
41-# ARCH_FAMILY sparc or i586
42+# ARCH sparc, sparcv9, x86, amd64, or ia64
43+# ARCH_FAMILY sparc or x86
44 # ARCHPROP sparc or x86
45 # ARCH_VM_SUBDIR jre/bin, jre/lib/sparc, etc.
46-# LIBARCH sparc, sparcv9, i386, amd64, or ia64
47+# LIBARCH sparc, sparcv9, x86, amd64, or ia64
48 # DEV_NULL destination of /dev/null, NUL or /dev/NULL
49 # CLASSPATH_SEPARATOR separator in classpath, ; or :
50 # LIB_PREFIX dynamic or static library prefix, lib or empty
51@@ -67,7 +67,7 @@ PLATFORM_SHARED=done
52 # EXE_SUFFIX executable file suffix, .exe or empty
53 # BUNDLE_FILE_SUFFIX suffix for bundles: .tar or .tar.gz
54 # ISA_DIR solaris only: /sparcv9 or /amd64
55-# LIBARCH32 solaris only: sparc or i386
56+# LIBARCH32 solaris only: sparc or x86
57 # LIBARCH64 solaris only: sparcv9 or amd64
58 # USING_CYGWIN windows only: true or false
59 # ISHIELD_TEMP_MIN windows only: minimum disk space in temp area
60@@ -165,7 +165,7 @@ ifeq ($(SYSTEM_UNAME), Linux)
61 endif
62 archExpr = case "$(mach)" in \
63 i[3-9]86) \
64- echo i586 \
65+ echo x86 \
66 ;; \
67 ia64) \
68 echo ia64 \
69@@ -217,12 +217,8 @@ ifeq ($(SYSTEM_UNAME), Linux)
70 endif
71 endif
72
73- # Need to maintain the jre/lib/i386 location for 32-bit Intel
74- ifeq ($(ARCH), i586)
75- LIBARCH = i386
76- else
77- LIBARCH = $(ARCH)
78- endif
79+ # Need to maintain the jre/lib/x86 location for 32-bit Intel
80+ LIBARCH = $(ARCH)
81
82 # Value of Java os.arch property
83 ARCHPROP = $(LIBARCH)
84diff --git openjdk/jdk/make/javax/sound/SoundDefs.gmk openjdk/jdk/make/javax/sound/SoundDefs.gmk
85index 73b6e0d..055c71d 100644
86--- openjdk/jdk/make/javax/sound/SoundDefs.gmk
87+++ openjdk/jdk/make/javax/sound/SoundDefs.gmk
88@@ -70,9 +70,9 @@ else
89 CPPFLAGS += -DX_ARCH=X_ARM
90 endif # ARCH arm
91
92- ifeq ($(ARCH), i586)
93- CPPFLAGS += -DX_ARCH=X_I586
94- endif # ARCH i586
95+ ifeq ($(ARCH), x86)
96+ CPPFLAGS += -DX_ARCH=X_X86
97+ endif # ARCH x86
98
99 ifeq ($(ARCH), ia64)
100 CPPFLAGS += -DX_ARCH=X_IA64
101diff --git openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
102index 2810548..4d00827 100644
103--- openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
104+++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
105@@ -33,7 +33,7 @@
106 #define X_LINUX 3
107
108 // types for X_ARCH
109-#define X_I586 1
110+#define X_X86 1
111 #define X_SPARC 2
112 #define X_SPARCV9 3
113 #define X_IA64 4
114diff --git openjdk/jdk/src/solaris/bin/i586/jvm.cfg openjdk/jdk/src/solaris/bin/i586/jvm.cfg
115deleted file mode 100644
116index 0f8fe07..0000000
117--- openjdk/jdk/src/solaris/bin/i586/jvm.cfg
118+++ /dev/null
119@@ -1,38 +0,0 @@
120-# Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved.
121-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
122-#
123-# This code is free software; you can redistribute it and/or modify it
124-# under the terms of the GNU General Public License version 2 only, as
125-# published by the Free Software Foundation. Oracle designates this
126-# particular file as subject to the "Classpath" exception as provided
127-# by Oracle in the LICENSE file that accompanied this code.
128-#
129-# This code is distributed in the hope that it will be useful, but WITHOUT
130-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
131-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
132-# version 2 for more details (a copy is included in the LICENSE file that
133-# accompanied this code).
134-#
135-# You should have received a copy of the GNU General Public License version
136-# 2 along with this work; if not, write to the Free Software Foundation,
137-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
138-#
139-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
140-# or visit www.oracle.com if you need additional information or have any
141-# questions.
142-#
143-# List of JVMs that can be used as an option to java, javac, etc.
144-# Order is important -- first in this list is the default JVM.
145-# NOTE that this both this file and its format are UNSUPPORTED and
146-# WILL GO AWAY in a future release.
147-#
148-# You may also select a JVM in an arbitrary location with the
149-# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
150-# and may not be available in a future release.
151-#
152--client IF_SERVER_CLASS -server
153--server KNOWN
154--hotspot ALIASED_TO -client
155--classic WARN
156--native ERROR
157--green ERROR
158diff --git openjdk/jdk/src/solaris/bin/x86/jvm.cfg openjdk/jdk/src/solaris/bin/x86/jvm.cfg
159new file mode 100644
160index 0000000..0f8fe07
161--- /dev/null
162+++ openjdk/jdk/src/solaris/bin/x86/jvm.cfg
163@@ -0,0 +1,38 @@
164+# Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved.
165+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
166+#
167+# This code is free software; you can redistribute it and/or modify it
168+# under the terms of the GNU General Public License version 2 only, as
169+# published by the Free Software Foundation. Oracle designates this
170+# particular file as subject to the "Classpath" exception as provided
171+# by Oracle in the LICENSE file that accompanied this code.
172+#
173+# This code is distributed in the hope that it will be useful, but WITHOUT
174+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
175+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
176+# version 2 for more details (a copy is included in the LICENSE file that
177+# accompanied this code).
178+#
179+# You should have received a copy of the GNU General Public License version
180+# 2 along with this work; if not, write to the Free Software Foundation,
181+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
182+#
183+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
184+# or visit www.oracle.com if you need additional information or have any
185+# questions.
186+#
187+# List of JVMs that can be used as an option to java, javac, etc.
188+# Order is important -- first in this list is the default JVM.
189+# NOTE that this both this file and its format are UNSUPPORTED and
190+# WILL GO AWAY in a future release.
191+#
192+# You may also select a JVM in an arbitrary location with the
193+# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
194+# and may not be available in a future release.
195+#
196+-client IF_SERVER_CLASS -server
197+-server KNOWN
198+-hotspot ALIASED_TO -client
199+-classic WARN
200+-native ERROR
201+-green ERROR
202--
2031.7.7
204
diff --git a/recipes-core/icedtea/openjdk-7-03b147/icedtea-sane-x86-arch-name.patch b/recipes-core/icedtea/openjdk-7-03b147/icedtea-sane-x86-arch-name.patch
new file mode 100644
index 0000000..cb7eb7f
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/icedtea-sane-x86-arch-name.patch
@@ -0,0 +1,35 @@
1Index: icedtea-2.1/acinclude.m4
2===================================================================
3--- icedtea-2.1.orig/acinclude.m4
4+++ icedtea-2.1/acinclude.m4
5@@ -8,9 +8,9 @@ AC_DEFUN([IT_SET_ARCH_SETTINGS],
6 ARCHFLAG="-m64"
7 ;;
8 i?86)
9- BUILD_ARCH_DIR=i586
10- INSTALL_ARCH_DIR=i386
11- JRE_ARCH_DIR=i386
12+ BUILD_ARCH_DIR=x86
13+ INSTALL_ARCH_DIR=x86
14+ JRE_ARCH_DIR=x86
15 ARCH_PREFIX=${LINUX32}
16 ARCHFLAG="-m32"
17 ;;
18@@ -700,7 +700,7 @@ AC_DEFUN([IT_ENABLE_ZERO_BUILD],
19 ZERO_LIBARCH="${INSTALL_ARCH_DIR}"
20 dnl can't use AC_CHECK_SIZEOF on multilib
21 case "${ZERO_LIBARCH}" in
22- i386|ppc|s390|sparc)
23+ x86|ppc|s390|sparc)
24 ZERO_BITSPERWORD=32
25 ;;
26 amd64|ppc64|s390x|sparc64)
27@@ -712,7 +712,7 @@ AC_DEFUN([IT_ENABLE_ZERO_BUILD],
28 esac
29 AC_C_BIGENDIAN([ZERO_ENDIANNESS="big"], [ZERO_ENDIANNESS="little"])
30 case "${ZERO_LIBARCH}" in
31- i386)
32+ x86)
33 ZERO_ARCHDEF="IA32"
34 ;;
35 ppc*)
diff --git a/recipes-core/icedtea/openjdk-7-03b147/icedtea-unbreak-float.patch b/recipes-core/icedtea/openjdk-7-03b147/icedtea-unbreak-float.patch
new file mode 100644
index 0000000..b5219da
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/icedtea-unbreak-float.patch
@@ -0,0 +1,16 @@
1--- openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
2+++ openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
3@@ -26,13 +26,11 @@
4
5 #include "jfdlibm.h"
6
7-#ifdef __NEWVALID /* special setup for Sun test regime */
8 #if defined(i386) || defined(i486) || \
9 defined(intel) || defined(x86) || defined(arm) || \
10 defined(i86pc) || defined(_M_IA64) || defined(ia64)
11 #define _LITTLE_ENDIAN
12 #endif
13-#endif
14
15 #ifdef _LITTLE_ENDIAN
16 #define __HI(x) *(1+(int*)&x)
diff --git a/recipes-core/icedtea/openjdk-7-release-03b147.inc b/recipes-core/icedtea/openjdk-7-release-03b147.inc
new file mode 100644
index 0000000..0932e22
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-release-03b147.inc
@@ -0,0 +1,99 @@
1require icedtea7-native.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
4
5FILESPATH =. "${FILE_DIRNAME}/openjdk-7-03b147:"
6
7# Force arm mode for now
8ARM_INSTRUCTION_SET_armv4t = "ARM"
9
10ICEDTEA_URI = "http://icedtea.classpath.org/download/source/${ICEDTEA}.tar.gz;name=iced"
11
12ICEDTEA_PREFIX = "icedtea7-forest-2.1"
13ICEDTEA_HG_URL = "http://icedtea.classpath.org/hg/release/${ICEDTEA_PREFIX}"
14
15OPENJDK_CHANGESET = "22cc03983e20"
16OPENJDK_FILE = "${OPENJDK_CHANGESET}.tar.bz2"
17OPENJDK_URI = "${ICEDTEA_HG_URL}/archive/${OPENJDK_FILE};name=openjdk;unpack=false"
18SRC_URI[openjdk.md5sum] = "f98b0f7a69f9427a5b3775dddddc89cb"
19SRC_URI[openjdk.sha256sum] = "758227833982371e3a94def84226a947f8dbbd176517f313b8cb96840bdea41e"
20
21HOTSPOT_CHANGESET = "8b7c4c5f6ba9"
22HOTSPOT_FILE = "${HOTSPOT_CHANGESET}.tar.gz"
23HOTSPOT_URI = "${ICEDTEA_HG_URL}/hotspot/archive/${HOTSPOT_FILE};name=hotspot;unpack=false"
24SRC_URI[hotspot.md5sum] = "cb45a8f19d77acc1f4f48e75e36a27fe"
25SRC_URI[hotspot.sha256sum] = "22866990d143e76ced94b76defa3051e5e5d9a51fd272d63daa0df272d6406a2"
26
27CORBA_CHANGESET = "5617f6c5cc94"
28CORBA_FILE = "${CORBA_CHANGESET}.tar.gz"
29CORBA_URI = "${ICEDTEA_HG_URL}/corba/archive/${CORBA_FILE};name=corba;unpack=false"
30SRC_URI[corba.md5sum] = "920f1a788a7fdef29a5cd70892331251"
31SRC_URI[corba.sha256sum] = "963915483530f311ff313635f79ed11ea7ce5a1c0dbee5d1acb1994132857fa3"
32
33JAXP_CHANGESET = "7a8825b15df6"
34JAXP_FILE = "${JAXP_CHANGESET}.tar.gz"
35JAXP_URI = "${ICEDTEA_HG_URL}/jaxp/archive/${JAXP_FILE};name=jaxp;unpack=false"
36SRC_URI[jaxp.md5sum] = "a0982b6df79739127871e355a40ca5a6"
37SRC_URI[jaxp.sha256sum] = "297c8dbeed5afa5395b6be06b17282d53f8a888c2909074dfc1605afc0daf1c2"
38
39JAXWS_CHANGESET = "7edfbfe974f2"
40JAXWS_FILE = "${JAXWS_CHANGESET}.tar.gz"
41JAXWS_URI = "${ICEDTEA_HG_URL}/jaxws/archive/${JAXWS_FILE};name=jaxws;unpack=false"
42SRC_URI[jaxws.md5sum] = "2deecec809ea8e38835678889c2bc3ac"
43SRC_URI[jaxws.sha256sum] = "823ca6b8fd780bf1b1565a90cfc8ec6f0ee422a5d25ffb20b1ce0272dc4955aa"
44
45JDK_CHANGESET = "d5ddeffc4651"
46JDK_FILE = "${JDK_CHANGESET}.tar.gz"
47JDK_URI = "${ICEDTEA_HG_URL}/jdk/archive/${JDK_FILE};name=jdk;unpack=false"
48SRC_URI[jdk.md5sum] = "27c28d6be213df818490e69f12efe475"
49SRC_URI[jdk.sha256sum] = "e83e6234842376147a4c32451f23d629ba107e908ebdb0f367657f9cc6c1be98"
50
51LANGTOOLS_CHANGESET = "b534c4c6cd9b"
52LANGTOOLS_FILE = "${LANGTOOLS_CHANGESET}.tar.gz"
53LANGTOOLS_URI = "${ICEDTEA_HG_URL}/langtools/archive/${LANGTOOLS_FILE};name=langtools;unpack=false"
54SRC_URI[langtools.md5sum] = "16b72f3fea8ac4e5b50de693e87f9c53"
55SRC_URI[langtools.sha256sum] = "c77dd42d83f06d18fa8aa65c93d137608a2e02cf24b68fc10d7b1c0bcc12a93c"
56
57CACAO_VERSION = "a567bcb7f589"
58CACAO_FILE = "${CACAO_VERSION}.tar.gz"
59CACAO_URI = "http://icedtea.classpath.org/download/drops/cacao/${CACAO_FILE};name=cacao;unpack=false"
60SRC_URI[cacao.md5sum] = "ec1def7f0d3d25e9e7da47c480f26a73"
61SRC_URI[cacao.sha256sum] = "d49f79debc131a5694cae6ab3ba2864e7f3249ee8d9dc09aae8afdd4dc6b09f9"
62
63JAMVM_VERSION = "4617da717ecb05654ea5bb9572338061106a414d"
64JAMVM_FILE = "jamvm-${JAMVM_VERSION}.tar.gz"
65JAMVM_URI = "http://icedtea.classpath.org/download/drops/jamvm/${JAMVM_FILE};name=jamvm;unpack=false"
66SRC_URI[jamvm.md5sum] = "740c2587502831cac6797d1233a7e27b"
67SRC_URI[jamvm.sha256sum] = "47fce7bd556c1b1d29a93b8c45497e0d872b48b7f535066b303336f29d0f0d8d"
68
69ICEDTEA_PATCHES = " \
70 file://disable-library-checks.patch \
71 file://build-hacks-native.patch \
72 file://icedtea-sane-x86-arch-name.patch \
73 file://fix-checksums.patch \
74 "
75
76
77OPENJDK_PATCHES = " \
78 file://icedtea-ecj-disable-compilation.patch;apply=no \
79 file://icedtea-unbreak-float.patch;apply=no \
80 file://icedtea-corba-parallel-make.patch;apply=no \
81 file://icedtea-hotspot-make-arch-sane-for-x86.patch;apply=no \
82 file://icedtea-jdk-sane-x86-arch.patch;apply=no \
83 file://icedtea-flags.patch;apply=no \
84 "
85
86# file://icedtea-disable-desktop-dirs.patch;apply=no \
87
88
89export DISTRIBUTION_PATCHES = " \
90 patches/icedtea-ecj-disable-compilation.patch \
91 patches/icedtea-unbreak-float.patch \
92 patches/icedtea-corba-parallel-make.patch \
93 patches/icedtea-hotspot-make-arch-sane-for-x86.patch \
94 patches/icedtea-jdk-sane-x86-arch.patch \
95 patches/icedtea-flags.patch \
96 "
97
98# patches/icedtea-disable-desktop-dirs.patch \
99