summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/build-hacks.patch78
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/cacao-libtoolize.patch12
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/cacao-loadavg-makefile.patch12
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/cacao-loadavg.patch27
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/fix-checksums.patch13
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/fix_hotspot_crosscompile.patch51
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-corba-parallel-make.patch31
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch342
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch.new62
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-fix-xrender.patch13
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-hostbuildcc.patch12
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-dlvsym-uclibc.patch16
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-glibc-version.patch23
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-isfinte.patch15
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-isnanf.patch21
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-loadavg.patch28
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-iconv-uclibc.patch39
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-nio-use-host-cc.patch89
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-ppc64-jvm-cfg.patch41
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-remove-unused-backtrace.patch41
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-unpack-uclibc.patch10
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-launcher-stdc++.patch13
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-libnet-renaming.patch154
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-remove_sparc_compiler_option.patch13
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-remove_werror.patch14
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-shark-arm-linux-cpu-detection.patch113
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-unbreak-float.patch16
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/icedtea-zero-hotspotfix.patch36
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/jamvm-extract.patch13
-rw-r--r--recipes-core/openjdk/openjdk-7-03b21/jvm.cfg43
-rw-r--r--recipes-core/openjdk/openjdk-7-common.inc496
-rw-r--r--recipes-core/openjdk/openjdk-7-release-03b21.inc147
-rw-r--r--recipes-core/openjdk/openjdk-7_03b21-2.1.1.bb24
33 files changed, 2058 insertions, 0 deletions
diff --git a/recipes-core/openjdk/openjdk-7-03b21/build-hacks.patch b/recipes-core/openjdk/openjdk-7-03b21/build-hacks.patch
new file mode 100644
index 0000000..c6dfe5f
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/build-hacks.patch
@@ -0,0 +1,78 @@
1Index: icedtea-2.1/Makefile.am
2===================================================================
3--- icedtea-2.1.orig/Makefile.am
4+++ icedtea-2.1/Makefile.am
5@@ -416,6 +416,12 @@ ICEDTEA_ENV = \
6 JAVAC="" \
7 JAVA_HOME="" \
8 JDK_HOME="" \
9+ OE_CFLAGS="$(OE_CFLAGS)" \
10+ OE_CPPFLAGS="$(OE_CPPFLAGS)" \
11+ OE_CXXFLAGS="$(OE_CXXFLAGS)" \
12+ OE_LDFLAGS="$(OE_LDFLAGS)" \
13+ OE_LAUNCHER_LDFLAGS="$(OE_LAUNCHER_LDFLAGS)" \
14+ DISTRIBUTION_ID="$(DIST_ID)" \
15 QUIETLY="" \
16 ANT_RESPECT_JAVA_HOME="TRUE" \
17 DISTRIBUTION_ID="$(DIST_ID)" \
18@@ -1923,12 +1929,16 @@ clean-rewrite-rhino:
19 stamps/jamvm.stamp: $(OPENJDK_TREE) stamps/rt.stamp
20 if BUILD_JAMVM
21 cd jamvm/jamvm && \
22- ./autogen.sh --with-java-runtime-library=openjdk \
23- --prefix=$(abs_top_builddir)/jamvm/install ; \
24- $(MAKE) ; \
25- $(MAKE) install
26+ $(ARCH_PREFIX) ./autogen.sh --with-java-runtime-library=openjdk \
27+ --prefix=/usr/lib \
28+ --host=$(host_alias) \
29+ --build=$(build_alias) \
30+ --target=$(target_alias) \
31+ --with-libtool-sysroot ; \
32+ $(ARCH_PREFIX) $(MAKE) ; \
33+ $(ARCH_PREFIX) $(MAKE) install DESTDIR=$(abs_top_builddir)/jamvm/install
34 mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
35- cp $(abs_top_builddir)/jamvm/install/lib/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
36+ cp $(abs_top_builddir)/jamvm/install/usr/lib/lib/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
37 ln -sf server $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/client
38 touch $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt
39 ln -sf client/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/libjsig.so
40@@ -1945,7 +1955,7 @@ clean-jamvm:
41 stamps/add-jamvm.stamp: stamps/icedtea.stamp stamps/jamvm.stamp
42 if ADD_JAMVM_BUILD
43 mkdir -p $(BUILD_JRE_ARCH_DIR)/jamvm
44- install -m 644 jamvm/install/lib/libjvm.so \
45+ install -m 644 jamvm/install/usr/lib/lib/libjvm.so \
46 $(BUILD_JRE_ARCH_DIR)/jamvm/
47 printf -- '-jamvm KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
48 else
49@@ -1989,6 +1999,7 @@ if !USE_SYSTEM_CACAO
50 --host=$(host_alias) \
51 --build=$(build_alias) \
52 --target=$(target_alias) \
53+ --with-libtool-sysroot \
54 --prefix=$(abs_top_builddir)/cacao/install \
55 --with-java-runtime-library=openjdk7 \
56 --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
57@@ -2056,7 +2067,7 @@ clean-add-cacao-debug:
58 # configure script arguments, quoted in single quotes
59 CONFIGURE_ARGS = @CONFIGURE_ARGS@
60 ADD_ZERO_CONFIGURE_ARGS = \
61- --with-jdk-home=$(BUILD_OUTPUT_DIR)/j2sdk-image \
62+ --with-jdk-home=$(abs_top_builddir)/bootstrap/jdk7.6.0 \
63 --disable-bootstrap --enable-zero
64 if ADD_SHARK_BUILD
65 ADD_ZERO_CONFIGURE_ARGS += \
66Index: icedtea-2.1/javac.in
67===================================================================
68--- icedtea-2.1.orig/javac.in
69+++ icedtea-2.1/javac.in
70@@ -70,5 +70,7 @@ else
71 my @CLASSPATH = ('@ECJ_JAR@');
72 push @CLASSPATH, split /:/, $ENV{"CLASSPATH"} if exists $ENV{"CLASSPATH"};
73 $ENV{"CLASSPATH"} = join ':', @CLASSPATH;
74- exec '@JAVA@', 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @ecj_args;
75+ # Compiling hotspot-tools consumes tons of memory and exceeds any default
76+ # limits for jamvm and cacao.
77+ exec '@JAVA@', '-Xmx1024m', 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @ecj_args;
78 }
diff --git a/recipes-core/openjdk/openjdk-7-03b21/cacao-libtoolize.patch b/recipes-core/openjdk/openjdk-7-03b21/cacao-libtoolize.patch
new file mode 100644
index 0000000..484cb10
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/cacao-libtoolize.patch
@@ -0,0 +1,12 @@
1Index: icedtea6/Makefile.am
2===================================================================
3--- icedtea6.orig/Makefile.am 2011-12-21 22:58:23.000000000 +0100
4+++ icedtea6/Makefile.am 2011-12-21 23:00:21.405887186 +0100
5@@ -1922,6 +1922,7 @@
6 if BUILD_CACAO
7 if !USE_SYSTEM_CACAO
8 cd cacao/cacao && \
9+ rm -f libtool && \
10 ./autogen.sh && \
11 $(ARCH_PREFIX) ./configure \
12 --host=$(host_alias) \
diff --git a/recipes-core/openjdk/openjdk-7-03b21/cacao-loadavg-makefile.patch b/recipes-core/openjdk/openjdk-7-03b21/cacao-loadavg-makefile.patch
new file mode 100644
index 0000000..0f50c6c
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/cacao-loadavg-makefile.patch
@@ -0,0 +1,12 @@
1Index: icedtea6/Makefile.am
2===================================================================
3--- icedtea6.orig/Makefile.am 2011-12-20 10:54:09.000000000 +0100
4+++ icedtea6/Makefile.am 2011-12-20 11:49:12.810009279 +0100
5@@ -1921,6 +1921,7 @@
6 if BUILD_CACAO
7 if !USE_SYSTEM_CACAO
8 cd cacao/cacao && \
9+ patch -p1 -N < $(abs_top_srcdir)/patches/cacao-loadavg.patch && \
10 rm -f libtool && \
11 ./autogen.sh && \
12 $(ARCH_PREFIX) ./configure \
diff --git a/recipes-core/openjdk/openjdk-7-03b21/cacao-loadavg.patch b/recipes-core/openjdk/openjdk-7-03b21/cacao-loadavg.patch
new file mode 100644
index 0000000..0fc1a81
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/cacao-loadavg.patch
@@ -0,0 +1,27 @@
1Index: cacao-cff92704c4e0/src/vm/os.hpp
2===================================================================
3--- cacao-cff92704c4e0/src/vm/os.hpp 2011-12-08 13:40:45.000000000 +0100
4+++ cacao-cff92704c4e0/src/vm/os.hpp 2011-12-20 11:42:36.985633921 +0100
5@@ -425,7 +425,21 @@
6 #if defined(HAVE_GETLOADAVG)
7 return ::getloadavg(loadavg, nelem);
8 #else
9-# error getloadavg not available
10+ FILE *LOADAVG;
11+ double avg[3] = { 0.0, 0.0, 0.0 };
12+ int i, res = -1;;
13+
14+ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
15+ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
16+ res = 0;
17+ fclose(LOADAVG);
18+ }
19+
20+ for (i = 0; (i < nelem) && (i < 3); i++) {
21+ loadavg[i] = avg[i];
22+ }
23+
24+ return res;
25 #endif
26 }
27
diff --git a/recipes-core/openjdk/openjdk-7-03b21/fix-checksums.patch b/recipes-core/openjdk/openjdk-7-03b21/fix-checksums.patch
new file mode 100644
index 0000000..1999170
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/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/openjdk/openjdk-7-03b21/fix_hotspot_crosscompile.patch b/recipes-core/openjdk/openjdk-7-03b21/fix_hotspot_crosscompile.patch
new file mode 100644
index 0000000..8d2d045
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/fix_hotspot_crosscompile.patch
@@ -0,0 +1,51 @@
1Index: icedtea-2.1/acinclude.m4
2===================================================================
3--- icedtea-2.1.orig/acinclude.m4
4+++ icedtea-2.1/acinclude.m4
5@@ -909,6 +909,21 @@ AC_DEFUN([IT_WITH_PROJECT],
6 AM_CONDITIONAL([USE_JDK7], test x"${project}" = "xjdk7")
7 ])
8
9+AC_DEFUN([AC_CHECK_WITH_CC_FOR_BUILD],
10+[
11+ AC_MSG_CHECKING(for compiler used for subsidiary programs)
12+ AC_ARG_WITH([cc-for-build],
13+ [AS_HELP_STRING(--with-cc-for-build,specify the compiler for subsidiary (helper) programs)],
14+ [
15+ CC_FOR_BUILD="${withval}"
16+ ],
17+ [
18+ CC_FOR_BUILD="\$(CC)"
19+ ])
20+ AC_MSG_RESULT(${CC_FOR_BUILD})
21+ AC_SUBST(CC_FOR_BUILD)
22+])
23+
24 AC_DEFUN([IT_WITH_GCJ],
25 [
26 AC_MSG_CHECKING([whether to compile ecj natively])
27Index: icedtea-2.1/configure.ac
28===================================================================
29--- icedtea-2.1.orig/configure.ac
30+++ icedtea-2.1/configure.ac
31@@ -18,6 +18,8 @@ AC_PREFIX_DEFAULT([bootstrap])
32 AC_PROG_CC
33 AC_PROG_CXX
34
35+AC_CHECK_WITH_CC_FOR_BUILD
36+
37 IT_FIND_TOOL([MAKE], [make])
38 IT_FIND_TOOL([GZIP], [gzip])
39 IT_FIND_TOOL([ANT], [ant])
40Index: icedtea-2.1/Makefile.am
41===================================================================
42--- icedtea-2.1.orig/Makefile.am
43+++ icedtea-2.1/Makefile.am
44@@ -416,6 +416,7 @@ ICEDTEA_ENV = \
45 JAVAC="" \
46 JAVA_HOME="" \
47 JDK_HOME="" \
48+ CC_FOR_BUILD="$(CC_FOR_BUILD)" \
49 OE_CFLAGS="$(OE_CFLAGS)" \
50 OE_CPPFLAGS="$(OE_CPPFLAGS)" \
51 OE_CXXFLAGS="$(OE_CXXFLAGS)" \
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-corba-parallel-make.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-corba-parallel-make.patch
new file mode 100644
index 0000000..09f7511
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/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/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch
new file mode 100644
index 0000000..9099d4c
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch
@@ -0,0 +1,342 @@
1--- openjdk/hotspot/make/linux/makefiles/buildtree.make
2+++ openjdk/hotspot/make/linux/makefiles/buildtree.make
3@@ -402,7 +402,7 @@ test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
4 echo "rm -f Queens.class"; \
5 echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
6 echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
7- echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
8+ echo 'echo Silently skipping the execution of the gamma program'; \
9 ) > $@
10 $(QUIETLY) chmod +x $@
11
12--- openjdk/hotspot/make/linux/makefiles/gcc.make
13+++ openjdk/hotspot/make/linux/makefiles/gcc.make
14@@ -160,7 +160,7 @@ CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS)
15 CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
16
17 # The flags to use for an Optimized g++ build
18-OPT_CFLAGS += -O3
19+OPT_CFLAGS += $(OE_CFLAGS)
20
21 # Hotspot uses very unstrict aliasing turn this optimization off
22 OPT_CFLAGS += -fno-strict-aliasing
23@@ -204,15 +204,7 @@ LFLAGS += -Wl,-relax
24 endif
25
26 # Enable linker optimization
27-LFLAGS += -Xlinker -O1
28-
29-# If this is a --hash-style=gnu system, use --hash-style=both
30-# The gnu .hash section won't work on some Linux systems like SuSE 10.
31-_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | grep -- '--hash-style=gnu')
32-ifneq ($(_HAS_HASH_STYLE_GNU),)
33- LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
34-endif
35-LFLAGS += $(LDFLAGS_HASH_STYLE)
36+LFLAGS += $(OE_LDFLAGS)
37
38 # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
39 MAPFLAG = -Xlinker --version-script=FILENAME
40--- openjdk/hotspot/make/linux/makefiles/launcher.make
41+++ openjdk/hotspot/make/linux/makefiles/launcher.make
42@@ -50,8 +50,8 @@ ifeq ($(LINK_INTO),AOUT)
43 LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
44 else
45 LAUNCHER.o = launcher.o
46- LFLAGS_LAUNCHER += -L `pwd`
47- LIBS_LAUNCHER += -l$(JVM) $(LIBS)
48+ LFLAGS_LAUNCHER += -L `pwd` $(OE_LAUNCHER_LDFLAGS) $(OE_LDFLAGS)
49+ LIBS_LAUNCHER += -l$(JVM) $(LIBS) -lstdc++
50 endif
51
52 LINK_LAUNCHER = $(LINK.c)
53--- openjdk/hotspot/make/linux/makefiles/vm.make
54+++ openjdk/hotspot/make/linux/makefiles/vm.make
55@@ -272,6 +272,7 @@ ifeq ($(SHARK_BUILD), true)
56 LIBS_VM += $(LLVM_LIBS)
57 endif
58
59+LFLAGS_VM += $(OE_LDFLAGS)
60 LINK_VM = $(LINK_LIB.c)
61
62 # rule for building precompiled header
63--- openjdk/jdk/make/common/Defs-linux.gmk
64+++ openjdk/jdk/make/common/Defs-linux.gmk
65@@ -125,35 +125,13 @@ else
66 endif
67 endif
68
69-#
70-# Default optimization
71-#
72-
73-ifndef OPTIMIZATION_LEVEL
74- ifeq ($(PRODUCT), java)
75- OPTIMIZATION_LEVEL = HIGHER
76- else
77- OPTIMIZATION_LEVEL = LOWER
78- endif
79-endif
80-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
81- FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
82-endif
83-
84-CC_OPT/NONE =
85-CC_OPT/LOWER = -O2
86-CC_OPT/HIGHER = -O3
87-CC_OPT/HIGHEST = -O3
88-
89-CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL))
90-
91 # For all platforms, do not omit the frame pointer register usage.
92 # We need this frame pointer to make it easy to walk the stacks.
93 # This should be the default on X86, but ia64 and amd64 may not have this
94 # as the default.
95 CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN
96 CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
97-CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN
98+CFLAGS_REQUIRED_arm += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
99 CFLAGS_REQUIRED_hppa +=
100 CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
101 CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
102@@ -232,7 +210,7 @@ ifeq ($(DEBUG_BINARIES), true)
103 CFLAGS_REQUIRED += $(DEBUG_FLAG)
104 endif
105
106-CFLAGS_OPT = $(CC_OPT)
107+CFLAGS_OPT = $(OE_CFLAGS)
108 CFLAGS_DBG = $(DEBUG_FLAG)
109 CFLAGS_COMMON += $(CFLAGS_REQUIRED)
110
111@@ -308,7 +286,7 @@ LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
112 #
113 # -L paths for finding and -ljava
114 #
115-LDFLAGS_OPT = -Xlinker -O1
116+LDFLAGS_OPT = $(OE_LDFLAGS)
117 LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
118 LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
119
120--- openjdk/jdk/make/sun/awt/mawt.gmk
121+++ openjdk/jdk/make/sun/awt/mawt.gmk
122@@ -151,22 +151,6 @@ else
123 #endif
124
125 LIBXTST = -lXtst
126-ifeq ($(PLATFORM), linux)
127- ifeq ($(ARCH_DATA_MODEL), 64)
128- # XXX what about the rest of them?
129- LIBXT = -lXt
130- else
131- # Allows for builds on Debian GNU Linux, X11 is in a different place
132- LIBXT = $(firstword $(wildcard $(OPENWIN_LIB)/libXt.a) \
133- $(wildcard /usr/lib/libXt.a))
134- LIBSM = $(firstword $(wildcard $(OPENWIN_LIB)/libSM.a) \
135- $(wildcard /usr/lib/libSM.a))
136- LIBICE = $(firstword $(wildcard $(OPENWIN_LIB)/libICE.a) \
137- $(wildcard /usr/lib/libICE.a))
138- LIBXTST = $(firstword $(wildcard $(OPENWIN_LIB)/libXtst.a) \
139- $(wildcard /usr/lib/libXtst.a))
140- endif
141-endif
142
143 # Use -lXmu for EditRes support
144 LIBXMU_DBG = -lXmu
145@@ -181,7 +165,7 @@ ifeq ($(PLATFORM), linux)
146 OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH
147 # XXX what is this define below? Isn't it motif-related?
148 OTHER_CFLAGS += -DXMSTRINGDEFINES=1
149-OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext $(LIBXT) $(LIBSM) $(LIBICE) -lX11 -lXi
150+OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext -lXt -lSM -lICE -lXi -lX11
151 endif
152
153 endif
154@@ -230,12 +214,6 @@ else
155 CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/fontconfig2
156 endif
157
158-ifndef HEADLESS
159-CPPFLAGS += -I$(OPENWIN_HOME)/include
160-LDFLAGS += -L$(OPENWIN_LIB)
161-
162-endif # !HEADLESS
163-
164 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
165 -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
166 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \
167@@ -258,12 +236,6 @@ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
168 -I$(PLATFORM_SRC)/native/$(PKGDIR) \
169 $(EVENT_MODEL)
170
171-ifeq ($(PLATFORM), linux)
172- # Checking for the X11/extensions headers at the additional location
173- CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \
174- $(wildcard /usr/include/X11/extensions))
175-endif
176-
177 ifeq ($(PLATFORM), solaris)
178 CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions
179 endif
180diff --git openjdk/corba/make/common/shared/Platform.gmk openjdk/corba/make/common/shared/Platform.gmk
181index e21f4d0..5f071a7 100644
182--- openjdk/corba/make/common/shared/Platform.gmk
183+++ openjdk/corba/make/common/shared/Platform.gmk
184@@ -152,9 +152,13 @@ ifeq ($(SYSTEM_UNAME), Linux)
185 OS_NAME = linux
186 OS_VERSION := $(shell uname -r)
187 # Arch and OS name/version
188- mach := $(shell uname -m)
189- ifneq (,$(wildcard /usr/bin/dpkg-architecture))
190- mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/')
191+ ifdef CROSS_COMPILE_ARCH
192+ mach := $(CROSS_COMPILE_ARCH)
193+ else
194+ mach := $(shell uname -m)
195+ ifneq (,$(wildcard /usr/bin/dpkg-architecture))
196+ mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/')
197+ endif
198 endif
199 archExpr = case "$(mach)" in \
200 i[3-9]86) \
201diff --git openjdk/jdk/make/common/shared/Platform.gmk openjdk/jdk/make/common/shared/Platform.gmk
202index 5b21888..3b9297f 100644
203--- openjdk/jdk/make/common/shared/Platform.gmk
204+++ openjdk/jdk/make/common/shared/Platform.gmk
205@@ -159,9 +159,9 @@ ifeq ($(SYSTEM_UNAME), Linux)
206 mach := $(CROSS_COMPILE_ARCH)
207 else
208 mach := $(shell uname -m)
209- endif
210- ifneq (,$(wildcard /usr/bin/dpkg-architecture))
211- mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/')
212+ ifneq (,$(wildcard /usr/bin/dpkg-architecture))
213+ mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/')
214+ endif
215 endif
216 archExpr = case "$(mach)" in \
217 i[3-9]86) \
218diff --git openjdk/hotspot/make/linux/makefiles/build_vm_def.sh openjdk/hotspot/make/linux/makefiles/build_vm_def.sh
219index ea81ff6..6a3765b 100644
220--- openjdk/hotspot/make/linux/makefiles/build_vm_def.sh
221+++ openjdk/hotspot/make/linux/makefiles/build_vm_def.sh
222@@ -1,10 +1,12 @@
223 #!/bin/sh
224
225 # If we're cross compiling use that path for nm
226-if [ "$CROSS_COMPILE_ARCH" != "" ]; then
227-NM=$ALT_COMPILER_PATH/nm
228-else
229-NM=nm
230+if [ "$NM" == "" ]; then
231+ if [ "$CROSS_COMPILE_ARCH" != "" ]; then
232+ NM=$ALT_COMPILER_PATH/nm
233+ else
234+ NM=nm
235+ fi
236 fi
237
238 $NM --defined-only $* \
239diff --git openjdk/jdk/make/java/nio/Makefile openjdk/jdk/make/java/nio/Makefile
240index 8130b9b..7906531 100644
241--- openjdk/jdk/make/java/nio/Makefile
242+++ openjdk/jdk/make/java/nio/Makefile
243@@ -834,8 +834,12 @@ else
244 $(SCH_GEN)/SocketOptionRegistry.java: $(GENSOR_EXE)
245 $(prep-target)
246 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@
247+ifdef CROSS_COMPILE_ARCH
248+ $(QEMU) $(GENSOR_EXE) >> $@
249+else
250 $(GENSOR_EXE) >> $@
251 endif
252+endif
253 #
254 # Generated sun.nio.cs SingleByte classes
255 #
256@@ -869,8 +873,12 @@ else
257 $(SFS_GEN)/UnixConstants.java: $(GENUC_EXE)
258 $(prep-target)
259 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENUC_COPYRIGHT_YEARS)" > $@
260+ifdef CROSS_COMPILE_ARCH
261+ $(QEMU) $(GENUC_EXE) >> $@
262+else
263 $(GENUC_EXE) >> $@
264 endif
265+endif
266
267 GENSC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genSolarisConstants.c
268
269@@ -891,7 +899,11 @@ else
270 $(SFS_GEN)/SolarisConstants.java: $(GENSC_EXE)
271 $(prep-target)
272 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENSC_COPYRIGHT_YEARS)" > $@
273+ifdef CROSS_COMPILE_ARCH
274+ $(QEMU) $(GENSC_EXE) >> $@
275+else
276 $(GENSC_EXE) >> $@
277 endif
278+endif
279
280 .PHONY: sources
281diff --git openjdk/jdk/make/sun/xawt/Makefile openjdk/jdk/make/sun/xawt/Makefile
282index e7d54e2..ce8819c 100644
283--- openjdk/jdk/make/sun/xawt/Makefile
284+++ openjdk/jdk/make/sun/xawt/Makefile
285@@ -188,20 +188,6 @@ else
286 CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/glib2
287 endif
288
289-ifeq ($(PLATFORM), linux)
290- ifndef CROSS_COMPILE_ARCH
291- # Allows for builds on Debian GNU Linux, X11 is in a different place
292- # This should really be handled at a higher-level so we don't have to
293- # work-around this when cross-compiling
294- CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
295- -I/usr/include/X11/extensions \
296- -I$(OPENWIN_HOME)/include
297- else
298- CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
299- -I$(OPENWIN_HOME)/include
300- endif
301-endif
302-
303 # We have some odd logic here because some Solaris 10 updates
304 # have a render.h file that suggests gradients are supported, but
305 # the Xrender.h doesn't have the corresponding type definitions.
306@@ -312,11 +298,7 @@ XLIBTYPES=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/xlibtypes.txt
307
308 $(SIZERS): $(SIZERS_C)
309 $(prep-target)
310-ifndef CROSS_COMPILE_ARCH
311 $(CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
312-else
313- $(HOST_CC) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
314-endif
315
316 $(WRAPPER_GENERATOR_CLASS): $(WRAPPER_GENERATOR_JAVA)
317 $(prep-target)
318@@ -329,6 +311,16 @@ $(SIZERS_C): $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
319 $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
320
321 $(SIZES): $(SIZERS)
322+ifdef CROSS_COMPILE_ARCH
323+ @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
324+ $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
325+ $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
326+ $(CHMOD) +w $@;\
327+ else \
328+ $(ECHO) GENERATING $@; \
329+ $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
330+ fi
331+else
332 @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
333 $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
334 $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
335@@ -337,6 +329,7 @@ $(SIZES): $(SIZERS)
336 $(ECHO) GENERATING $@; \
337 $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
338 fi
339+endif
340 @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
341 $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
342 $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch.new b/recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch.new
new file mode 100644
index 0000000..c14d378
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-crosscompile-fix.patch.new
@@ -0,0 +1,62 @@
1diff --git a/jdk/make/sun/awt/mawt.gmk b/jdk/make/sun/awt/mawt.gmk
2index 45e8349..ed452ba 100644
3--- a/jdk/make/sun/awt/mawt.gmk
4+++ b/jdk/make/sun/awt/mawt.gmk
5@@ -151,22 +151,6 @@ else
6 #endif
7
8 LIBXTST = -lXtst
9-ifeq ($(PLATFORM), linux)
10- ifeq ($(ARCH_DATA_MODEL), 64)
11- # XXX what about the rest of them?
12- LIBXT = -lXt
13- else
14- # Allows for builds on Debian GNU Linux, X11 is in a different place
15- LIBXT = $(firstword $(wildcard $(OPENWIN_LIB)/libXt.a) \
16- $(wildcard /usr/lib/libXt.a))
17- LIBSM = $(firstword $(wildcard $(OPENWIN_LIB)/libSM.a) \
18- $(wildcard /usr/lib/libSM.a))
19- LIBICE = $(firstword $(wildcard $(OPENWIN_LIB)/libICE.a) \
20- $(wildcard /usr/lib/libICE.a))
21- LIBXTST = $(firstword $(wildcard $(OPENWIN_LIB)/libXtst.a) \
22- $(wildcard /usr/lib/libXtst.a))
23- endif
24-endif
25
26 # Use -lXmu for EditRes support
27 LIBXMU_DBG = -lXmu
28@@ -181,7 +165,7 @@ ifeq ($(PLATFORM), linux)
29 OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH
30 # XXX what is this define below? Isn't it motif-related?
31 OTHER_CFLAGS += -DXMSTRINGDEFINES=1
32-OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext $(LIBXT) $(LIBSM) $(LIBICE) -lX11 -lXi
33+OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext -lXt -lSM -lICE -lXi -lX11
34 endif
35
36 endif
37@@ -230,12 +214,6 @@ else
38 CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/fontconfig2
39 endif
40
41-ifndef HEADLESS
42-CPPFLAGS += -I$(OPENWIN_HOME)/include
43-LDFLAGS += -L$(OPENWIN_LIB)
44-
45-endif # !HEADLESS
46-
47 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
48 -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
49 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \
50@@ -258,12 +236,6 @@ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
51 -I$(PLATFORM_SRC)/native/$(PKGDIR) \
52 $(EVENT_MODEL)
53
54-ifeq ($(PLATFORM), linux)
55- # Checking for the X11/extensions headers at the additional location
56- CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \
57- $(wildcard /usr/include/X11/extensions))
58-endif
59-
60 ifeq ($(PLATFORM), solaris)
61 CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions
62 endif
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-fix-xrender.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-fix-xrender.patch
new file mode 100644
index 0000000..4bd8b2c
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-fix-xrender.patch
@@ -0,0 +1,13 @@
1Index: openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
2===================================================================
3--- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c 2011-10-19 16:56:03.014276748 +0200
4+++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c 2011-10-19 16:57:19.942658211 +0200
5@@ -29,7 +29,7 @@
6 #include "X11SurfaceData.h"
7
8 /*#include <xcb/xcb.h>*/
9-#include <Xrender.h>
10+#include <X11/extensions/Xrender.h>
11
12 #ifndef RepeatNone /* added in 0.10 */
13 #define RepeatNone 0
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-hostbuildcc.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hostbuildcc.patch
new file mode 100644
index 0000000..5f2c98b
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hostbuildcc.patch
@@ -0,0 +1,12 @@
1Index: openjdk/hotspot/make/linux/makefiles/rules.make
2===================================================================
3--- openjdk/hotspot/make/linux/makefiles/rules.make 2010-02-02 02:22:33.201668748 +0100
4+++ openjdk/hotspot/make/linux/makefiles/rules.make 2010-02-02 02:23:08.480415783 +0100
5@@ -39,6 +39,7 @@
6 # $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
7 C_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS)
8 CC_COMPILE = $(CCC) $(CPPFLAGS) $(CFLAGS)
9+CC_HOST_COMPILE = $(BUILD_CC) $(CPPFLAGS) $(CFLAGS)
10
11 AS.S = $(AS) $(ASFLAGS)
12
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-dlvsym-uclibc.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-dlvsym-uclibc.patch
new file mode 100644
index 0000000..657f722
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-dlvsym-uclibc.patch
@@ -0,0 +1,16 @@
1Index: openjdk/hotspot/src/os/linux/vm/os_linux.cpp
2===================================================================
3--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2011-12-20 19:15:05.000000000 +0100
4+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2011-12-20 19:18:22.411503442 +0100
5@@ -2593,10 +2593,7 @@
6 // If we are running with earlier version, which did not have symbol versions,
7 // we should use the base version.
8 void* os::Linux::libnuma_dlsym(void* handle, const char *name) {
9- void *f = dlvsym(handle, name, "libnuma_1.1");
10- if (f == NULL) {
11- f = dlsym(handle, name);
12- }
13+ void *f = dlsym(handle, name);
14 return f;
15 }
16
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-glibc-version.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-glibc-version.patch
new file mode 100644
index 0000000..faa90ea
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-glibc-version.patch
@@ -0,0 +1,23 @@
1Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
2===================================================================
3--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:22:13.696298239 +0200
4+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:24:15.308790737 +0200
5@@ -49,7 +49,6 @@
6 # include <string.h>
7 # include <syscall.h>
8 # include <sys/sysinfo.h>
9-# include <gnu/libc-version.h>
10 # include <sys/ipc.h>
11 # include <sys/shm.h>
12 # include <link.h>
13@@ -544,9 +543,7 @@
14 os::Linux::set_glibc_version(str);
15 } else {
16 // _CS_GNU_LIBC_VERSION is not supported, try gnu_get_libc_version()
17- static char _gnu_libc_version[32];
18- jio_snprintf(_gnu_libc_version, sizeof(_gnu_libc_version),
19- "glibc %s %s", gnu_get_libc_version(), gnu_get_libc_release());
20+ static char _gnu_libc_version[32] = "2.9";
21 os::Linux::set_glibc_version(_gnu_libc_version);
22 }
23
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-isfinte.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-isfinte.patch
new file mode 100644
index 0000000..7c5da59
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-isfinte.patch
@@ -0,0 +1,15 @@
1Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
2===================================================================
3--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:41:28.576131825 +0200
4+++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:41:55.555711815 +0200
5@@ -235,8 +235,8 @@
6
7 // Checking for finiteness
8
9-inline int g_isfinite(jfloat f) { return finite(f); }
10-inline int g_isfinite(jdouble f) { return finite(f); }
11+inline int g_isfinite(jfloat f) { return isfinite(f); }
12+inline int g_isfinite(jdouble f) { return isfinite(f); }
13
14
15 // Wide characters
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-isnanf.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-isnanf.patch
new file mode 100644
index 0000000..494e965
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-isnanf.patch
@@ -0,0 +1,21 @@
1Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
2===================================================================
3--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:47:12.695674808 +0200
4+++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:48:08.699007491 +0200
5@@ -220,14 +220,14 @@
6 // checking for nanness
7 #ifdef SOLARIS
8 #ifdef SPARC
9-inline int g_isnan(float f) { return isnanf(f); }
10+inline int g_isnan(float f) { return __isnanf(f); }
11 #else
12 // isnanf() broken on Intel Solaris use isnand()
13 inline int g_isnan(float f) { return isnand(f); }
14 #endif
15 inline int g_isnan(double f) { return isnand(f); }
16 #elif LINUX
17-inline int g_isnan(float f) { return isnanf(f); }
18+inline int g_isnan(float f) { return __isnanf(f); }
19 inline int g_isnan(double f) { return isnan(f); }
20 #else
21 #error "missing platform-specific definition here"
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-loadavg.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-loadavg.patch
new file mode 100644
index 0000000..7da41fd
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-hotspot-loadavg.patch
@@ -0,0 +1,28 @@
1Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
2===================================================================
3--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:16:09.406334411 +0200
4+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:19:38.952152043 +0200
5@@ -4325,7 +4325,22 @@
6 // Linux doesn't yet have a (official) notion of processor sets,
7 // so just return the system wide load average.
8 int os::loadavg(double loadavg[], int nelem) {
9- return ::getloadavg(loadavg, nelem);
10+
11+ FILE *LOADAVG;
12+ double avg[3] = { 0.0, 0.0, 0.0 };
13+ int i, res = -1;;
14+
15+ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
16+ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
17+ res = 0;
18+ fclose(LOADAVG);
19+ }
20+
21+ for (i = 0; (i < nelem) && (i < 3); i++) {
22+ loadavg[i] = avg[i];
23+ }
24+
25+ return res;
26 }
27
28 void os::pause() {
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-iconv-uclibc.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-iconv-uclibc.patch
new file mode 100644
index 0000000..68f8581
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-iconv-uclibc.patch
@@ -0,0 +1,39 @@
1Index: openjdk/jdk/make/java/npt/Makefile
2===================================================================
3--- openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:02.598512448 +0200
4+++ openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:28.504759286 +0200
5@@ -65,6 +65,8 @@
6 # We don't want to link against -ljava
7 JAVALIB=
8
9+LDLIBS += -liconv
10+
11 # Add -export options to explicitly spell exported symbols
12 ifeq ($(PLATFORM), windows)
13 OTHER_LCF += -export:nptInitialize -export:nptTerminate
14Index: icedtea6-1.8/openjdk-ecj/jdk/make/java/instrument/Makefile
15===================================================================
16--- openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:14.688505195 +0200
17+++ openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:32.641425670 +0200
18@@ -123,6 +123,8 @@
19 # We don't want to link against -ljava
20 JAVALIB=
21
22+LDLIBS += -liconv
23+
24 #
25 # Add to ambient vpath so we pick up the library files
26 #
27Index: openjdk/jdk/make/sun/splashscreen/Makefile
28===================================================================
29--- openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:12:48.951840824 +0200
30+++ openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:13:01.191422891 +0200
31@@ -55,6 +55,8 @@
32
33 JAVALIB=
34
35+LDLIBS += -liconv
36+
37 #
38 # C Flags
39 #
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-nio-use-host-cc.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-nio-use-host-cc.patch
new file mode 100644
index 0000000..6b14673
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-nio-use-host-cc.patch
@@ -0,0 +1,89 @@
1diff --git openjdk/jdk/make/java/nio/Makefile openjdk/jdk/make/java/nio/Makefile
2index 7906531..afa5d46 100644
3--- openjdk/jdk/make/java/nio/Makefile
4+++ openjdk/jdk/make/java/nio/Makefile
5@@ -823,7 +823,7 @@ $(TEMPDIR)/$(GENSOR_SRC) : $(GENSOR_SRC)
6
7 $(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC)
8 $(prep-target)
9- ($(CD) $(TEMPDIR); $(CC) $(CPPFLAGS) $(LDDFLAGS) \
10+ ($(CD) $(TEMPDIR); $(CC_FOR_BUILD) $(CPPFLAGS) $(LDDFLAGS) \
11 -o genSocketOptionRegistry$(EXE_SUFFIX) $(GENSOR_SRC))
12
13 ifdef NIO_PLATFORM_CLASSES_ROOT_DIR
14@@ -834,12 +834,8 @@ else
15 $(SCH_GEN)/SocketOptionRegistry.java: $(GENSOR_EXE)
16 $(prep-target)
17 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@
18-ifdef CROSS_COMPILE_ARCH
19- $(QEMU) $(GENSOR_EXE) >> $@
20-else
21 $(GENSOR_EXE) >> $@
22 endif
23-endif
24 #
25 # Generated sun.nio.cs SingleByte classes
26 #
27@@ -863,7 +859,7 @@ GENUC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENUC_SRC) | \
28
29 $(GENUC_EXE) : $(GENUC_SRC)
30 $(prep-target)
31- $(CC) $(CPPFLAGS) -o $@ $(GENUC_SRC)
32+ $(CC_FOR_BUILD) $(CPPFLAGS) -o $@ $(GENUC_SRC)
33
34 ifdef NIO_PLATFORM_CLASSES_ROOT_DIR
35 $(SFS_GEN)/UnixConstants.java: $(NIO_PLATFORM_CLASSES_ROOT_DIR)/sun/nio/fs/UnixConstants-$(PLATFORM)-$(ARCH).java
36@@ -873,12 +869,8 @@ else
37 $(SFS_GEN)/UnixConstants.java: $(GENUC_EXE)
38 $(prep-target)
39 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENUC_COPYRIGHT_YEARS)" > $@
40-ifdef CROSS_COMPILE_ARCH
41- $(QEMU) $(GENUC_EXE) >> $@
42-else
43 $(GENUC_EXE) >> $@
44 endif
45-endif
46
47 GENSC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genSolarisConstants.c
48
49@@ -889,7 +881,7 @@ GENSC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSC_SRC) | \
50
51 $(GENSC_EXE) : $(GENSC_SRC)
52 $(prep-target)
53- $(CC) $(CPPFLAGS) -o $@ $(GENSC_SRC)
54+ $(CC_FOR_BUILD) $(CPPFLAGS) -o $@ $(GENSC_SRC)
55
56 ifdef NIO_PLATFORM_CLASSES_ROOT_DIR
57 $(SFS_GEN)/SolarisConstants.java: $(NIO_PLATFORM_CLASSES_ROOT_DIR)/sun/nio/fs/SolarisConstants-$(PLATFORM)-$(ARCH).java
58@@ -899,11 +891,7 @@ else
59 $(SFS_GEN)/SolarisConstants.java: $(GENSC_EXE)
60 $(prep-target)
61 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENSC_COPYRIGHT_YEARS)" > $@
62-ifdef CROSS_COMPILE_ARCH
63- $(QEMU) $(GENSC_EXE) >> $@
64-else
65 $(GENSC_EXE) >> $@
66 endif
67-endif
68
69 .PHONY: sources
70--- openjdk/jdk/make/sun/Makefile.khem 2012-08-10 19:32:40.695550897 -0700
71+++ openjdk/jdk/make/sun/Makefile 2012-08-10 19:33:39.195550853 -0700
72@@ -55,7 +55,7 @@ ifneq ($(PLATFORM), windows)
73 endif
74 endif
75 HEADLESS_SUBDIR = headless
76- XAWT_SUBDIR = xawt
77+ XAWT_SUBDIR =
78 endif
79
80 ifndef OPENJDK
81@@ -79,7 +79,7 @@ else
82 endif
83 SUBDIRS_desktop = audio $(RENDER_SUBDIR) image \
84 $(DISPLAY_LIBS) $(DGA_SUBDIR) \
85- jawt font jpeg cmm $(DISPLAY_TOOLS) beans
86+ font jpeg cmm $(DISPLAY_TOOLS) beans
87 SUBDIRS_management = management
88 SUBDIRS_misc = $(ORG_SUBDIR) rmi $(JDBC_SUBDIR) tracing
89 SUBDIRS_tools = native2ascii serialver tools jconsole
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-ppc64-jvm-cfg.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-ppc64-jvm-cfg.patch
new file mode 100644
index 0000000..5bb7604
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-ppc64-jvm-cfg.patch
@@ -0,0 +1,41 @@
1--- /dev/null 2012-07-25 13:25:05.651551001 -0700
2+++ openjdk/jdk/src/solaris/bin/ppc64/jvm.cfg 2012-08-10 23:59:02.651551157 -0700
3@@ -0,0 +1,38 @@
4+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
5+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6+#
7+# This code is free software; you can redistribute it and/or modify it
8+# under the terms of the GNU General Public License version 2 only, as
9+# published by the Free Software Foundation. Oracle designates this
10+# particular file as subject to the "Classpath" exception as provided
11+# by Oracle in the LICENSE file that accompanied this code.
12+#
13+# This code is distributed in the hope that it will be useful, but WITHOUT
14+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16+# version 2 for more details (a copy is included in the LICENSE file that
17+# accompanied this code).
18+#
19+# You should have received a copy of the GNU General Public License version
20+# 2 along with this work; if not, write to the Free Software Foundation,
21+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
22+#
23+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
24+# or visit www.oracle.com if you need additional information or have any
25+# questions.
26+#
27+# List of JVMs that can be used as an option to java, javac, etc.
28+# Order is important -- first in this list is the default JVM.
29+# NOTE that this both this file and its format are UNSUPPORTED and
30+# WILL GO AWAY in a future release.
31+#
32+# You may also select a JVM in an arbitrary location with the
33+# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
34+# and may not be available in a future release.
35+#
36+-client KNOWN
37+-server KNOWN
38+-hotspot ERROR
39+-classic WARN
40+-native ERROR
41+-green ERROR
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-remove-unused-backtrace.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-remove-unused-backtrace.patch
new file mode 100644
index 0000000..5423fde
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-remove-unused-backtrace.patch
@@ -0,0 +1,41 @@
1Index: openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
2===================================================================
3--- openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-08-05 16:45:56.607257503 +0200
4+++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-08-05 16:47:19.727254686 +0200
5@@ -27,9 +27,6 @@
6 #include <X11/Xutil.h>
7 #include <X11/Xos.h>
8 #include <X11/Xatom.h>
9-#ifdef __linux__
10-#include <execinfo.h>
11-#endif
12
13 #include <jvm.h>
14 #include <jni.h>
15@@ -689,26 +686,6 @@
16 return ret;
17 }
18
19-#ifdef __linux__
20-void print_stack(void)
21-{
22- void *array[10];
23- size_t size;
24- char **strings;
25- size_t i;
26-
27- size = backtrace (array, 10);
28- strings = backtrace_symbols (array, size);
29-
30- fprintf (stderr, "Obtained %zd stack frames.\n", size);
31-
32- for (i = 0; i < size; i++)
33- fprintf (stderr, "%s\n", strings[i]);
34-
35- free (strings);
36-}
37-#endif
38-
39 Window get_xawt_root_shell(JNIEnv *env) {
40 static jclass classXRootWindow = NULL;
41 static jmethodID methodGetXRootWindow = NULL;
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-unpack-uclibc.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-unpack-uclibc.patch
new file mode 100644
index 0000000..7e98767
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-jdk-unpack-uclibc.patch
@@ -0,0 +1,10 @@
1--- openjdk/jdk/make/com/sun/java/pack/Makefile
2+++ openjdk/jdk/make/com/sun/java/pack/Makefile
3@@ -103,6 +103,7 @@ else
4 OTHER_LDLIBS += -lc $(LIBCXX)
5 # setup the list of libraries to link in...
6 ifeq ($(PLATFORM), linux)
7+ OTHER_LDLIBS += -lpthread
8 ifeq ("$(CC_VER_MAJOR)", "3")
9 OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
10 endif
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-launcher-stdc++.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-launcher-stdc++.patch
new file mode 100644
index 0000000..b97745d
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-launcher-stdc++.patch
@@ -0,0 +1,13 @@
1Index: openjdk/hotspot/make/linux/makefiles/launcher.make
2===================================================================
3--- openjdk/hotspot/make/linux/makefiles/launcher.make 2011-12-20 10:33:37.000000000 +0100
4+++ openjdk/hotspot/make/linux/makefiles/launcher.make 2011-12-20 10:37:54.055022618 +0100
5@@ -51,7 +51,7 @@
6 else
7 LAUNCHER.o = launcher.o
8 LFLAGS_LAUNCHER += -L `pwd`
9- LIBS_LAUNCHER += -l$(JVM) $(LIBS)
10+ LIBS_LAUNCHER += -l$(JVM) $(LIBS) -lstdc++
11 ifeq ($(SHARK_BUILD), true)
12 LFLAGS_LAUNCHER += $(LLVM_LDFLAGS)
13 LIBS_LAUNCHER += $(LLVM_LIBS)
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-libnet-renaming.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-libnet-renaming.patch
new file mode 100644
index 0000000..f590577
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-libnet-renaming.patch
@@ -0,0 +1,154 @@
1Index: openjdk/jdk/make/java/net/Makefile
2===================================================================
3--- openjdk/jdk/make/java/net/Makefile 2010-07-05 12:28:58.476625401 +0200
4+++ openjdk/jdk/make/java/net/Makefile 2010-07-05 12:29:11.876625138 +0200
5@@ -25,7 +25,7 @@
6
7 BUILDDIR = ../..
8 PACKAGE = java.net
9-LIBRARY = net
10+LIBRARY = javanet
11 PRODUCT = sun
12 include $(BUILDDIR)/common/Defs.gmk
13
14Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
15===================================================================
16--- openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java 2010-07-05 17:40:56.467876415 +0200
17+++ openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java 2010-07-05 17:41:43.326628410 +0200
18@@ -58,7 +58,7 @@
19 */
20 static {
21 java.security.AccessController.doPrivileged(
22- new sun.security.action.LoadLibraryAction("net"));
23+ new sun.security.action.LoadLibraryAction("javanet"));
24 }
25
26 /**
27Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java
28===================================================================
29--- openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java 2010-07-05 17:41:01.027875484 +0200
30+++ openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java 2010-07-05 17:41:56.826626386 +0200
31@@ -74,7 +74,7 @@
32 */
33 static {
34 java.security.AccessController.doPrivileged(
35- new sun.security.action.LoadLibraryAction("net"));
36+ new sun.security.action.LoadLibraryAction("javanet"));
37 }
38
39 /**
40Index: openjdk/jdk/src/share/classes/java/net/DatagramPacket.java
41===================================================================
42--- openjdk/jdk/src/share/classes/java/net/DatagramPacket.java 2010-07-05 17:41:02.017875980 +0200
43+++ openjdk/jdk/src/share/classes/java/net/DatagramPacket.java 2010-07-05 17:42:06.057875677 +0200
44@@ -47,7 +47,7 @@
45 */
46 static {
47 java.security.AccessController.doPrivileged(
48- new sun.security.action.LoadLibraryAction("net"));
49+ new sun.security.action.LoadLibraryAction("javanet"));
50 init();
51 }
52
53Index: openjdk/jdk/src/share/classes/java/net/InetAddress.java
54===================================================================
55--- openjdk/jdk/src/share/classes/java/net/InetAddress.java 2010-07-05 17:41:02.756626429 +0200
56+++ openjdk/jdk/src/share/classes/java/net/InetAddress.java 2010-07-05 17:42:15.997875786 +0200
57@@ -230,7 +230,7 @@
58 static {
59 preferIPv6Address = java.security.AccessController.doPrivileged(
60 new GetBooleanAction("java.net.preferIPv6Addresses")).booleanValue();
61- AccessController.doPrivileged(new LoadLibraryAction("net"));
62+ AccessController.doPrivileged(new LoadLibraryAction("javanet"));
63 init();
64 }
65
66Index: openjdk/jdk/src/share/classes/java/net/NetworkInterface.java
67===================================================================
68--- openjdk/jdk/src/share/classes/java/net/NetworkInterface.java 2010-07-05 17:41:03.547875282 +0200
69+++ openjdk/jdk/src/share/classes/java/net/NetworkInterface.java 2010-07-05 17:42:22.647875475 +0200
70@@ -52,7 +52,7 @@
71 private boolean virtual = false;
72
73 static {
74- AccessController.doPrivileged(new LoadLibraryAction("net"));
75+ AccessController.doPrivileged(new LoadLibraryAction("javanet"));
76 init();
77 }
78
79Index: openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java
80===================================================================
81--- openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java 2010-07-05 17:41:04.306628153 +0200
82+++ openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java 2010-07-05 17:42:32.666627264 +0200
83@@ -89,7 +89,7 @@
84 }});
85 if (b != null && b.booleanValue()) {
86 java.security.AccessController.doPrivileged(
87- new sun.security.action.LoadLibraryAction("net"));
88+ new sun.security.action.LoadLibraryAction("javanet"));
89 hasSystemProxies = init();
90 }
91 }
92Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/share/classes/sun/nio/ch/Util.java
93===================================================================
94--- openjdk/jdk/src/share/classes/sun/nio/ch/Util.java 2010-07-05 17:41:05.086626745 +0200
95+++ openjdk/jdk/src/share/classes/sun/nio/ch/Util.java 2010-07-05 17:42:39.266626410 +0200
96@@ -354,7 +354,7 @@
97 return;
98 loaded = true;
99 java.security.AccessController
100- .doPrivileged(new sun.security.action.LoadLibraryAction("net"));
101+ .doPrivileged(new sun.security.action.LoadLibraryAction("javanet"));
102 java.security.AccessController
103 .doPrivileged(new sun.security.action.LoadLibraryAction("nio"));
104 // IOUtil must be initialized; Its native methods are called from
105Index: openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
106===================================================================
107--- openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:41:05.896626691 +0200
108+++ openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:42:45.606625991 +0200
109@@ -244,7 +244,7 @@
110
111 static {
112 java.security.AccessController.doPrivileged(
113- new sun.security.action.LoadLibraryAction("net"));
114+ new sun.security.action.LoadLibraryAction("javanet"));
115 }
116
117 }
118Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
119===================================================================
120--- openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:41:06.786627210 +0200
121+++ openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:42:51.926627747 +0200
122@@ -160,7 +160,7 @@
123
124 static {
125 java.security.AccessController.doPrivileged(
126- new sun.security.action.LoadLibraryAction("net"));
127+ new sun.security.action.LoadLibraryAction("javanet"));
128 init0();
129
130 // start the address listener thread
131--- openjdk/jdk/make/java/nio/Makefile
132+++ openjdk/jdk/make/java/nio/Makefile
133@@ -282,7 +282,7 @@ ifeq ($(PLATFORM),windows)
134 endif
135
136 ifeq ($(PLATFORM), linux)
137-OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
138+OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet -lpthread -ldl
139 ifdef USE_SYSTEM_GIO
140 OTHER_LDLIBS += $(GIO_LIBS)
141 OTHER_INCLUDES += $(GIO_CFLAGS) -DUSE_SYSTEM_GIO
142diff --git openjdk/jdk/make/com/sun/nio/sctp/Makefile openjdk/jdk/make/com/sun/nio/sctp/Makefile
143index e71a92b..e94b1e1 100644
144--- openjdk/jdk/make/com/sun/nio/sctp/Makefile
145+++ openjdk/jdk/make/com/sun/nio/sctp/Makefile
146@@ -62,7 +62,7 @@ OTHER_INCLUDES += \
147 ifeq ($(PLATFORM), linux)
148 COMPILER_WARNINGS_FATAL=true
149 #OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
150-OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -lnio -lnet -lpthread -ldl
151+OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -lnio -ljavanet -lpthread -ldl
152 endif
153 ifeq ($(PLATFORM), solaris)
154 #LIBSCTP = -lsctp
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-remove_sparc_compiler_option.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-remove_sparc_compiler_option.patch
new file mode 100644
index 0000000..be5ad85
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-remove_sparc_compiler_option.patch
@@ -0,0 +1,13 @@
1Index: openjdk/jdk/make/common/shared/Compiler-gcc.gmk
2===================================================================
3--- openjdk/jdk/make/common/shared/Compiler-gcc.gmk 2012-05-26 14:43:49.342875981 +0200
4+++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk 2012-05-26 15:21:25.514903711 +0200
5@@ -133,7 +133,7 @@
6 REQUIRED_GCC_VER = 4.0.*
7 endif
8 # Option used to create a shared library
9- SHARED_LIBRARY_FLAG = -shared -mimpure-text
10+ SHARED_LIBRARY_FLAG = -shared
11 SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 )
12
13 endif
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-remove_werror.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-remove_werror.patch
new file mode 100644
index 0000000..f2ad035
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-remove_werror.patch
@@ -0,0 +1,14 @@
1Index: openjdk/hotspot/make/linux/makefiles/gcc.make
2===================================================================
3--- openjdk/hotspot/make/linux/makefiles/gcc.make 2010-02-02 16:11:35.758533706 +0100
4+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2010-02-02 16:11:42.761456458 +0100
5@@ -98,9 +98,6 @@
6 CFLAGS += -pipe
7 endif
8
9-# Compiler warnings are treated as errors
10-WARNINGS_ARE_ERRORS = -Werror
11-
12 # Except for a few acceptable ones
13 # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
14 # conversions which might affect the values. To avoid that, we need to turn
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-shark-arm-linux-cpu-detection.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-shark-arm-linux-cpu-detection.patch
new file mode 100644
index 0000000..f40bc51
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-shark-arm-linux-cpu-detection.patch
@@ -0,0 +1,113 @@
1Index: openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp
2===================================================================
3--- openjdk.orig/hotspot/src/share/vm/shark/sharkCompiler.cpp 2010-07-14 16:42:48.412103129 +0200
4+++ openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp 2010-07-14 16:50:51.680282178 +0200
5@@ -32,6 +32,96 @@
6
7 #if SHARK_LLVM_VERSION >= 27
8 namespace {
9+
10+#if defined(__arm__) && defined(__linux__)
11+#include <fcntl.h>
12+#include <linux/auxvec.h>
13+#include <asm/hwcap.h>
14+#define VECBUFF_SIZE 32
15+
16+bool TestARMLinuxHWCAP(int feature) {
17+ int fd;
18+ unsigned vecs[VECBUFF_SIZE];
19+ unsigned *p;
20+ int i, n;
21+ int rc;
22+
23+ rc = 0;
24+ fd = open("/proc/self/auxv", O_RDONLY);
25+ if (fd < 0) return 0;
26+ do {
27+ n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
28+ p = vecs;
29+ i = n/8;
30+ while (--i >=0) {
31+ unsigned tag = *p++;
32+ unsigned value = *p++;
33+ if (tag == 0) goto fini;
34+ if(tag == AT_HWCAP && (value & feature)) {
35+ rc = 1;
36+ goto fini;
37+ }
38+ }
39+ } while (n == VECBUFF_SIZE * sizeof(unsigned));
40+fini:
41+ close(fd);
42+ return rc;
43+}
44+
45+char* TestARMLinuxAT(int auxvec) {
46+ int fd;
47+ unsigned vecs[VECBUFF_SIZE];
48+ unsigned *p;
49+ int i, n;
50+ char* rc;
51+
52+ rc = 0;
53+ fd = open("/proc/self/auxv", O_RDONLY);
54+ if (fd < 0) return 0;
55+ do {
56+ n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
57+ p = vecs;
58+ i = n/8;
59+ while (--i >=0) {
60+ unsigned tag = *p++;
61+ unsigned value = *p++;
62+ if (tag == 0) goto fini;
63+ if(tag == (unsigned) auxvec ) {
64+ rc = (char*)value;
65+ goto fini;
66+ }
67+ }
68+ } while (n == VECBUFF_SIZE * sizeof(unsigned));
69+fini:
70+ close(fd);
71+ return rc;
72+}
73+
74+bool getARMHostCPUFeatures(StringMap<bool> &Features) {
75+ // FIXME LLVM PR6561 // Features["neon"]=TestARMLinuxHWCAP(HWCAP_NEON);
76+ Features["thumb2"]=TestARMLinuxHWCAP(HWCAP_THUMBEE);
77+ Features["vfp2"]=TestARMLinuxHWCAP(HWCAP_VFP);
78+
79+ std::string testArchKey(TestARMLinuxAT(AT_PLATFORM));
80+
81+ StringMap<std::string> archLinuxToLLVMMap;
82+ archLinuxToLLVMMap["v4l"]="v4t";
83+ archLinuxToLLVMMap["v5l"]="v5t";
84+ archLinuxToLLVMMap["v6l"]="v6";
85+ // FIXME change this from v6 to v7a when LLVM PR7048 have been fixed
86+ archLinuxToLLVMMap["v7l"]="v6";
87+
88+ llvm::StringMapIterator<std::string> resultIterator(archLinuxToLLVMMap.find(
89+ testArchKey));
90+ if(resultIterator->first()) {
91+ std::string arch(resultIterator->second);
92+ Features[arch]=true;
93+ }
94+
95+ return true;
96+}
97+#endif
98+
99 cl::opt<std::string>
100 MCPU("mcpu");
101
102@@ -64,7 +154,11 @@
103 #if SHARK_LLVM_VERSION >= 27
104 // Finetune LLVM for the current host CPU.
105 StringMap<bool> Features;
106+#if defined(__arm__) && defined(__linux__)
107+ bool gotCpuFeatures = getARMHostCPUFeatures(Features);
108+#else
109 bool gotCpuFeatures = llvm::sys::getHostCPUFeatures(Features);
110+#endif
111 std::string cpu("-mcpu=" + llvm::sys::getHostCPUName());
112
113 std::vector<const char*> args;
diff --git a/recipes-core/openjdk/openjdk-7-03b21/icedtea-unbreak-float.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-unbreak-float.patch
new file mode 100644
index 0000000..b5219da
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/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/openjdk/openjdk-7-03b21/icedtea-zero-hotspotfix.patch b/recipes-core/openjdk/openjdk-7-03b21/icedtea-zero-hotspotfix.patch
new file mode 100644
index 0000000..a63506b
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/icedtea-zero-hotspotfix.patch
@@ -0,0 +1,36 @@
1diff --git openjdk/hotspot/make/linux/makefiles/zeroshark.make b/hotspot/make/linux/makefiles/zeroshark.make
2index 4cf1826..4c0105b 100644
3--- openjdk/hotspot/make/linux/makefiles/zeroshark.make
4+++ openjdk/hotspot/make/linux/makefiles/zeroshark.make
5@@ -32,26 +32,27 @@ Obj_Files += cppInterpreter_arm.o
6 Obj_Files += thumb2.o
7
8 CFLAGS += -DHOTSPOT_ASM
9+CCFLAGS += -DHOTSPOT_ASM
10
11 cppInterpreter_arm.o: offsets_arm.s bytecodes_arm.s
12 thumb2.o: offsets_arm.s
13
14 offsets_arm.s: mkoffsets
15 @echo Generating assembler offsets
16- ./mkoffsets > $@
17+ $(QEMU) ./mkoffsets > $@
18
19 bytecodes_arm.s: bytecodes_arm.def mkbc
20 @echo Generatine ARM assembler bytecode sequences
21- $(CC_COMPILE) -E -x c++ - < $< | ./mkbc - $@ $(COMPILE_DONE)
22+ $(CC_COMPILE) -E -x c++ - < $< | $(QEMU) ./mkbc - $@ $(COMPILE_DONE)
23
24 mkbc: $(GAMMADIR)/tools/mkbc.c
25 @echo Compiling mkbc tool
26- $(CC_COMPILE) -o $@ $< $(COMPILE_DONE)
27+ $(CC_COMPILE) -static -o $@ $< $(COMPILE_DONE)
28
29 mkoffsets: asm_helper.cpp
30 @echo Compiling offset generator
31 $(QUIETLY) $(REMOVE_TARGET)
32- $(CC_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
33+ $(CC_COMPILE) -static -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
34
35 endif
36
diff --git a/recipes-core/openjdk/openjdk-7-03b21/jamvm-extract.patch b/recipes-core/openjdk/openjdk-7-03b21/jamvm-extract.patch
new file mode 100644
index 0000000..9040304
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/jamvm-extract.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@@ -1210,7 +1210,7 @@ endif
6 clean-extract-cacao: clean-cacao
7 rm -f stamps/extract-cacao.stamp
8
9-stamps/extract-jamvm.stamp:
10+stamps/extract-jamvm.stamp: stamps/download-jamvm.stamp
11 if BUILD_JAMVM
12 set -e ; \
13 if ! test -d jamvm ; \
diff --git a/recipes-core/openjdk/openjdk-7-03b21/jvm.cfg b/recipes-core/openjdk/openjdk-7-03b21/jvm.cfg
new file mode 100644
index 0000000..ea97cda
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-03b21/jvm.cfg
@@ -0,0 +1,43 @@
1# Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
2# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3#
4# This code is free software; you can redistribute it and/or modify it
5# under the terms of the GNU General Public License version 2 only, as
6# published by the Free Software Foundation. Sun designates this
7# particular file as subject to the "Classpath" exception as provided
8# by Sun in the LICENSE file that accompanied this code.
9#
10# This code is distributed in the hope that it will be useful, but WITHOUT
11# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13# version 2 for more details (a copy is included in the LICENSE file that
14# accompanied this code).
15#
16# You should have received a copy of the GNU General Public License version
17# 2 along with this work; if not, write to the Free Software Foundation,
18# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19#
20# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
21# CA 95054 USA or visit www.sun.com if you need additional information or
22# have any questions.
23#
24#
25# List of JVMs that can be used as an option to java, javac, etc.
26# Order is important -- first in this list is the default JVM.
27# NOTE that this both this file and its format are UNSUPPORTED and
28# WILL GO AWAY in a future release.
29#
30# You may also select a JVM in an arbitrary location with the
31# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
32# and may not be available in a future release.
33#
34-server ERROR
35-client IGNORE
36-hotspot ERROR
37-classic WARN
38-native ERROR
39-green ERROR
40-zero ALIASED_TO -server
41-shark ERROR
42-cacao ERROR
43-jamvm ERROR
diff --git a/recipes-core/openjdk/openjdk-7-common.inc b/recipes-core/openjdk/openjdk-7-common.inc
new file mode 100644
index 0000000..eb0a817
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-common.inc
@@ -0,0 +1,496 @@
1DESCRIPTION = "Java runtime based upon the OpenJDK- and Icedtea Project"
2HOMEPAGE = "http://icedtea.classpath.org"
3LICENSE = "GPL-2.0-with-classpath-exception"
4PRIORITY = "optional"
5SECTION = "libs"
6
7# Name of the icedtea tarball and top-level directory.
8ICEDTEA = "NEEDS TO BE SET"
9
10S = "${WORKDIR}/${ICEDTEA}"
11B = "${S}/build"
12
13INC_PR = "r2"
14
15SRC_URI = " \
16 ${ICEDTEA_URI} \
17 ${OPENJDK_URI} \
18 ${HOTSPOT_URI} \
19 ${CORBA_URI} \
20 ${JAXP_URI} \
21 ${JAXWS_URI} \
22 ${JDK_URI} \
23 ${LANGTOOLS_URI} \
24 ${CACAO_URI} \
25 ${JAMVM_URI} \
26 ${OEPATCHES} \
27 ${ICEDTEAPATCHES} \
28 file://jvm.cfg \
29 "
30
31JDKPN = "openjdk-7"
32JDK_DIR = "java-7-openjdk"
33
34PN = "${JDKPN}-jre"
35PROVIDES += "${JDKPN}"
36
37DEPENDS = " \
38 icedtea7-native zip-native ant-native \
39 zlib \
40 jpeg libpng giflib \
41 gtk+ glib-2.0 \
42 cups fontconfig \
43 rhino \
44 libxt libxp libxinerama libxrender libxtst libxi \
45 freetype alsa-lib libffi llvm2.8 \
46 "
47DEPENDS_arm = " \
48 icedtea7-native zip-native ant-native \
49 zlib \
50 jpeg libpng giflib \
51 gtk+ glib-2.0 \
52 cups fontconfig \
53 rhino \
54 libxt libxp libxinerama libxrender libxtst libxi \
55 freetype alsa-lib libffi \
56 "
57
58DEPENDS_append_libc-uclibc = " virtual/libiconv "
59
60# The OpenJDK build with interpreter optimizations for ARM depends on a binary
61# that generates constants for an assembler source file. There is no other
62# way than to generate this on a pseudo machine. Cross-compiling would not help
63# because structure sizes and/or alignment may differ.
64DEPENDS_append = " qemu-native "
65
66
67# No package should directly depend on this (it should require
68# java2-runtime instead).
69PRIVATE_LIBS = "\
70 libunpack.so libverify.so libjava.so libzip.so libnpt.so \
71 libjava_crw_demo.so libhprof.so libnet.so libnio.so \
72 libmanagement.so libinstrument.so libjsound.so libjsoundalsa.so \
73 libj2pcsc.so libj2pkcs11.so libj2gss.so libmlib_image.so \
74 libawt.so libsplashscreen.so libfreetype.so.6 libfontmanager.so \
75 libjpeg.so liblcms.so librmi.so libjawt.so libjaas_unix.so \
76 libattach.so libjdwp.so libdt_socket.so libhpi.so libjli.so \
77 libmawt.so libjvm.so \
78 libversionCheck.so libcompiledMethodLoad.so libgctest.so \
79 libheapViewer.so libheapTracker.so libminst.so libmtrace.so \
80 libwaiters.so libhprof.so \
81 "
82inherit java autotools gettext qemu
83
84export ALT_CUPS_HEADERS_PATH = "${STAGING_INCDIR}"
85export ALT_FREETYPE_HEADERS_PATH = "${STAGING_INCDIR}/freetype2"
86export ALT_FREETYPE_LIB_PATH = "${STAGING_LIBDIR}"
87export CACAO_CONFIGURE_ARGS = " \
88 ${@['','--enable-softfloat'][bb.data.getVar('TARGET_FPU',d,1) == 'soft']}"
89
90JAVA_HOME[unexport] = "1"
91
92WITH_ADDITIONAL_VMS ?= "--with-additional-vms=shark,cacao,jamvm"
93
94WITH_ADDITIONAL_VMS_arm = "--with-additional-vms=cacao,jamvm"
95
96# OpenJDK supports parallel compilation but uses a plain number for this.
97# In OE we have PARALLEL_MAKE which is the actual option passed to make,
98# e.g. "-j 4".
99
100OPENJDK_PARALLEL_MAKE := "${PARALLEL_MAKE}"
101PARALLEL_MAKE = ""
102
103def get_jdk7_jobs(d):
104 import bb
105
106 pm = bb.data.getVar('OPENJDK_PARALLEL_MAKE', d, 1);
107 if not pm:
108 return "1"
109
110 pm = pm.split("j");
111 if (len(pm) == 2):
112 return pm[1].strip()
113
114 # Whatever found in PARALLEL_MAKE was not suitable.
115 return "1"
116
117JDK_JOBS = "${@get_jdk7_jobs(d)}"
118
119EXTRA_OECONF = " \
120 --disable-tests \
121 --disable-hotspot-tests \
122 --disable-langtools-tests \
123 --disable-jdk-tests \
124 --disable-pulse-java \
125 --disable-docs \
126 --disable-nss \
127 --disable-system-lcms \
128 --disable-bootstrap \
129 \
130 --enable-zero \
131 \
132 --with-jdk-home=${STAGING_LIBDIR_JVM_NATIVE}/icedtea7-native \
133 --with-rhino=${STAGING_DATADIR_JAVA}/rhino.jar \
134 \
135 --with-openjdk-src-zip=${WORKDIR}/${OPENJDK_FILE} \
136 --with-hotspot-src-zip=${WORKDIR}/${HOTSPOT_FILE} \
137 --with-corba-src-zip=${WORKDIR}/${CORBA_FILE} \
138 --with-jaxp-src-zip=${WORKDIR}/${JAXP_FILE} \
139 --with-jaxws-src-zip=${WORKDIR}/${JAXWS_FILE} \
140 --with-jdk-src-zip=${WORKDIR}/${JDK_FILE} \
141 --with-langtools-src-zip=${WORKDIR}/${LANGTOOLS_FILE} \
142 --with-cacao-src-zip=${WORKDIR}/${CACAO_FILE} \
143 --with-jamvm-src-zip=${WORKDIR}/${JAMVM_FILE} \
144 \
145 --with-parallel-jobs=${JDK_JOBS} \
146 \
147 --with-pkgversion=${PV} \
148 --with-cc-for-build=${BUILD_CC} \
149 "
150
151# OpenJDK uses slightly different names for certain arches. We need to know
152# this to create some files which are expected by the build.
153def get_jdk_arch(d):
154 import bb
155
156 jdk_arch = bb.data.getVar('TRANSLATED_TARGET_ARCH', d, 1)
157 if jdk_arch == "x86-64":
158 jdk_arch = "amd64"
159 elif jdk_arch == "powerpc":
160 jdk_arch = "ppc"
161 elif jdk_arch == "powerpc64":
162 jdk_arch = "ppc64"
163 elif (jdk_arch == "i486" or jdk_arch == "i586" or jdk_arch == "i686"):
164 jdk_arch = "i386"
165
166 return jdk_arch
167
168JDK_ARCH = "${@get_jdk_arch(d)}"
169JDK_HOME = "${libdir_jvm}/${JDK_DIR}"
170JDK_FAKE = "${WORKDIR}/fake-jdk"
171
172# A function that is needed in the Shark builds.
173def get_llvm_configure_arch(d):
174 import bb;
175
176 arch = bb.data.getVar('TRANSLATED_TARGET_ARCH', d, 1)
177 if arch == "x86-64" or arch == "i486" or arch == "i586" or arch == "i686":
178 arch = "x86"
179 elif arch == "arm":
180 arch = "arm"
181 elif arch == "mipsel" or arch == "mips":
182 arch = "mips"
183 elif arch == "powerpc" or arch == "powerpc64":
184 arch = "powerpc"
185 else:
186 bb.error("%s does not support %s yet" % (bb.data.getVar('PN', d, 1), arch) );
187
188 return arch
189
190do_configure_prepend() {
191 echo "Configure with parallel-jobs: ${JDK_JOBS}"
192
193 # Automatically copy everything that starts with "icedtea" (or "cacao") and ends with
194 # ".patch" into the patches directory.
195 find ${WORKDIR} -maxdepth 1 -name "icedtea*.patch" -exec cp {} ${S}/patches \;
196 find ${WORKDIR} -maxdepth 1 -name "cacao*.patch" -exec cp {} ${S}/patches \;
197}
198
199do_configure_append() {
200 oe_runmake patch
201}
202
203# Work around broken variable quoting in oe-stable 2009 and provide the variable
204# via the environment which then overrides the erroneous value that was written
205# into '${ICETDEA}/Makefile'.
206# Icedtea's makefile is not compatible to parallelization so we cannot allow
207# passing a valid ${PARALLEL_MAKE} to it. OTOH OpenJDK's makefiles are
208# parallelizable and we need ${PARALLEL_MAKE} to derive the proper value.
209# The base for this quirk is that GNU Make only considers the last "-j" option.
210EXTRA_OEMAKE = 'CC="${CC}" CCC="${CXX}" CPP="${CPP}" CXX="${CXX}" CC_FOR_BUILD="${BUILD_CC}"'
211
212EXTRA_OEMAKE += ' \
213 OE_CFLAGS="${TARGET_CFLAGS}" \
214 OE_CPPFLAGS="${TARGET_CPPFLAGS}" \
215 OE_CXXFLAGS="${TARGET_CXXFLAGS}" \
216 OE_LDFLAGS="${TARGET_LDFLAGS}" \
217 ZIPEXE="${STAGING_BINDIR_NATIVE}/zip" \
218 CROSS_COMPILE_ARCH="${JDK_ARCH}" \
219 REQUIRED_ALSA_VERSION="" \
220 '
221
222# Puts an OE specific string into the binary making it possible for the user
223# to know where it comes from (and blame the right people ...).
224DIST_ID = "Built for ${DISTRO}"
225DIST_NAME = "${DISTRO}"
226EXTRA_OEMAKE += 'DIST_NAME="${DIST_NAME}" DIST_ID="${DIST_ID}"'
227
228
229# llvm configure and compiles stuff
230
231export WANT_LLVM_RELEASE = "2.8"
232
233# Provides the target architecture to the configure script.
234export LLVM_CONFIGURE_ARCH="${@get_llvm_configure_arch(d)}"
235
236OE_LAUNCHER_LDFLAGS = "-Wl,-rpath-link,${STAGING_LIBDIR}/llvm${WANT_LLVM_RELEASE} -Wl,-rpath,${libdir}/llvm${WANT_LLVM_RELEASE}"
237
238OE_LAUNCHER_LDFLAGS_arm = ""
239
240EXTRA_OEMAKE += 'OE_LAUNCHER_LDFLAGS="${OE_LAUNCHER_LDFLAGS}"'
241
242# Large stack is required at least on x86_64 host, otherwise random segfaults appear:
243QEMU = "${@qemu_target_binary(d)} ${QEMU_OPTIONS} -s 2097152 -L ${STAGING_DIR_TARGET} -E LD_LIBRARY_PATH=${STAGING_BASELIBDIR}"
244
245EXTRA_OEMAKE += 'QEMU="${QEMU}"'
246
247do_compile() {
248
249 bbnote "3/3 Building final JDK"
250
251 # Build the final Hotspot + OpenJDK
252 oe_runmake icedtea
253}
254
255do_install() {
256 install -d ${D}${libdir_jvm}
257 cp -R ${S}/build/${BUILD_DIR}/j2sdk-image ${D}${JDK_HOME}
258
259 chmod u+rw -R ${D}${JDK_HOME}
260
261 # Fix symlink which would point into staging in the binary package.
262 ln -sf ${datadir_java}/rhino.jar ${D}${JDK_HOME}/jre/lib/rhino.jar
263
264 # JRE is a subset of JDK. So to save space and resemble what the BIG distros
265 # do we create symlinks from the JDK binaries to their counterparts in the
266 # JRE folder (which have to exist by that time b/c of dependencies).
267 for F in `find ${D}${JDK_HOME}/jre/bin -type f`
268 do
269 bf=`basename $F`
270 bbnote "replace:" $bf
271 rm ${D}${JDK_HOME}/bin/$bf
272 ln -s ${JDK_HOME}/jre/bin/$bf ${D}${JDK_HOME}/bin/$bf
273 done
274
275 install -m644 ${WORKDIR}/jvm.cfg ${D}${JDK_HOME}/jre/lib/${JDK_ARCH}/
276}
277
278# Notes about the ideas behind packaging:
279# 1) User should install openjdk-7-jre. This is a provider of 'java2-runtime'.
280# 2) This lets package mgmt install: openjdk-7-java
281# -> openjdk-7-vm-shark|openjdk-7-vm-zero|openjdk-7-vm-cacao -> openjdk-7-common
282#
283# With opkg the zero VM is chosen which is good b/c that is the best known (= compatible)
284# runtime. Installing other runtimes side-by-side is possible. Through jvm.cfg the following
285# order of precedence is enforced: zero, shark, cacao. User can chose a different runtime
286# by adding '-shark' or '-cacao' to the Java command (or by deinstalling an otherwise preferred
287# runtime)
288# 3) All other packages, including -jdk, are optional and not needed for normal Java apps.
289PACKAGES = " \
290 ${JDKPN}-jre \
291 ${JDKPN}-jre-dbg \
292 ${JDKPN}-dbg \
293 ${JDKPN}-demo-dbg \
294 ${JDKPN}-demo \
295 ${JDKPN}-source \
296 ${JDKPN}-doc \
297 ${JDKPN}-jdk \
298 ${JDKPN}-java \
299 ${JDKPN}-vm-shark \
300 ${JDKPN}-vm-zero \
301 ${JDKPN}-vm-cacao \
302 ${JDKPN}-vm-jamvm \
303 ${JDKPN}-common \
304 "
305
306FILES_${JDKPN}-dbg = "\
307 ${JDK_HOME}/bin/.debug \
308 ${JDK_HOME}/lib/.debug \
309 ${JDK_HOME}/jre/bin/.debug \
310 ${JDK_HOME}/jre/lib/.debug \
311 ${JDK_HOME}/jre/lib/${JDK_ARCH}/.debug \
312 ${JDK_HOME}/jre/lib/${JDK_ARCH}/jli/.debug \
313 ${JDK_HOME}/jre/lib/${JDK_ARCH}/native_threads/.debug \
314 ${JDK_HOME}/jre/lib/${JDK_ARCH}/server/.debug \
315 ${JDK_HOME}/jre/lib/${JDK_ARCH}/shark/.debug \
316 ${JDK_HOME}/jre/lib/${JDK_ARCH}/headless/.debug \
317 ${JDK_HOME}/jre/lib/${JDK_ARCH}/xawt/.debug \
318 "
319
320FILES_${JDKPN}-demo = "${JDK_HOME}/demo ${JDK_HOME}/sample"
321RDEPENDS_${JDKPN}-demo = "java2-runtime"
322FILES_${JDKPN}-demo-dbg = "\
323 ${JDK_HOME}/demo/jvmti/gctest/lib/.debug \
324 ${JDK_HOME}/demo/jvmti/heapTracker/lib/.debug \
325 ${JDK_HOME}/demo/jvmti/heapViewer/lib/.debug \
326 ${JDK_HOME}/demo/jvmti/hprof/lib/.debug \
327 ${JDK_HOME}/demo/jvmti/minst/lib/.debug \
328 ${JDK_HOME}/demo/jvmti/mtrace/lib/.debug \
329 ${JDK_HOME}/demo/jvmti/versionCheck/lib/.debug \
330 ${JDK_HOME}/demo/jvmti/waiters/lib/.debug \
331 ${JDK_HOME}/demo/jvmti/compiledMethodLoad/lib/.debug \
332 "
333
334FILES_${JDKPN}-source = "${JDK_HOME}/src.zip"
335
336FILES_${JDKPN}-java = "${JDK_HOME}/jre/bin/java"
337
338FILES_${JDKPN}-vm-zero = "${JDK_HOME}/jre/lib/${JDK_ARCH}/server/"
339
340FILES_${JDKPN}-vm-shark = "${JDK_HOME}/jre/lib/${JDK_ARCH}/shark/"
341
342FILES_${JDKPN}-vm-cacao = "${JDK_HOME}/jre/lib/${JDK_ARCH}/cacao/"
343
344FILES_${JDKPN}-vm-jamvm = "${JDK_HOME}/jre/lib/${JDK_ARCH}/jamvm/"
345
346FILES_${JDKPN}-common = "${JDK_HOME}/jre/ASSEMBLY_EXCEPTION \
347 ${JDK_HOME}/jre/THIRD_PARTY_README \
348 ${JDK_HOME}/jre/LICENSE \
349 ${JDK_HOME}/ASSEMBLY_EXCEPTION \
350 ${JDK_HOME}/THIRD_PARTY_README \
351 ${JDK_HOME}/LICENSE \
352 ${JDK_HOME}/release \
353 ${JDK_HOME}/jre/lib \
354 "
355
356FILES_openjdk-7-jre_append = " \
357 ${JDK_HOME}/jre/bin/keytool \
358 ${JDK_HOME}/jre/bin/orbd \
359 ${JDK_HOME}/jre/bin/pack200 \
360 ${JDK_HOME}/jre/bin/rmid \
361 ${JDK_HOME}/jre/bin/rmiregistry \
362 ${JDK_HOME}/jre/bin/servertool \
363 ${JDK_HOME}/jre/bin/tnameserv \
364 ${JDK_HOME}/jre/bin/unpack200 \
365 ${JDK_HOME}/jre/bin/policytool \
366 ${JDK_HOME}/jre/bin/javaws \
367 "
368
369RDEPENDS_${JDKPN}-common = "librhino-java"
370
371RPROVIDES_${JDKPN}-vm-shark = "java2-vm"
372RPROVIDES_${JDKPN}-vm-zero = "java2-vm"
373RPROVIDES_${JDKPN}-vm-cacao = "java2-vm"
374RPROVIDES_${JDKPN}-vm-jamvm = "java2-vm"
375
376# Even though a vm is a hard dependency it is set as RRECOMMENDS so a single vm can get uninstalled:
377# root@beaglebone:~/java# opkg remove openjdk-7-vm-shark
378# No packages removed.
379# Collected errors:
380# * print_dependents_warning: Package openjdk-7-vm-shark is depended upon by packages:
381# * print_dependents_warning: openjdk-7-java
382# * print_dependents_warning: These might cease to work if package openjdk-7-vm-shark is removed.
383RRECOMMENDS_${JDKPN}-java = "java2-vm"
384
385# For some reason shark and cacao do not automatically depends on -common.
386# So we add that manually.
387RDEPENDS_${JDKPN}-vm-shark = "${JDKPN}-common"
388RDEPENDS_${JDKPN}-vm-cacao = "${JDKPN}-common"
389RDEPENDS_${JDKPN}-vm-jamvm = "${JDKPN}-common"
390
391# There is a symlink to a .so but this one is valid.
392INSANE_SKIP_${JDKPN}-vm-shark = "dev-so"
393INSANE_SKIP_${JDKPN}-vm-zero = "dev-so"
394INSANE_SKIP_${JDKPN}-vm-cacao = "dev-so"
395INSANE_SKIP_${JDKPN}-vm-jamvm = "dev-so"
396INSANE_SKIP_${JDKPN}-common = "dev-so"
397
398FILES_${JDKPN}-jdk = " \
399 ${JDK_HOME}/bin \
400 ${JDK_HOME}/lib \
401 ${JDK_HOME}/include \
402 "
403RDEPENDS_${JDKPN}-jre = "${JDKPN}-java"
404RPROVIDES_${JDKPN}-jre = "java2-runtime"
405
406RDEPENDS_${JDKPN}-jdk = "${JDKPN}-jre"
407
408FILES_${JDKPN}-doc = "${JDK_HOME}/man"
409
410pkg_postinst_${JDKPN}-vm-shark () {
411 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
412 sed -i -e "/\-shark.*/d" -e "s|\(^\-server*\)|\-shark KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
413 else
414 sed -i -e "s/\-shark.*/\-shark KNOWN/" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
415 fi
416}
417
418pkg_prerm_${JDKPN}-vm-shark () {
419 sed -i -e "/^\-shark.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
420 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
421 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
422 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
423 fi
424
425 echo "-shark ERROR" >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
426}
427
428pkg_postinst_${JDKPN}-vm-cacao () {
429 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
430 sed -i -e "/\-cacao.*/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
431 else
432 sed -i -e "s/\-cacao.*/\-cacao KNOWN/" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
433 fi
434}
435
436pkg_prerm_${JDKPN}-vm-cacao () {
437 sed -i -e "/^\-cacao.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
438 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
439 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
440 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
441 fi
442
443 echo "-cacao ERROR" >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
444}
445
446pkg_postinst_${JDKPN}-vm-jamvm () {
447 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
448 sed -i -e "/\-jamvm.*/d" -e "s|\(^\-server*\)|\-jamvm KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
449 else
450 sed -i -e "s/\-jamvm.*/\-jamvm KNOWN/" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
451 fi
452}
453
454pkg_prerm_${JDKPN}-vm-jamvm () {
455 sed -i -e "/^\-jamvm.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
456 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
457 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
458 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
459 fi
460
461 echo "-jamvm ERROR" >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
462}
463
464pkg_postinst_${JDKPN}-vm-zero () {
465 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
466 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
467 sed -i -e "/${FIRST_KNOWN}/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
468 echo ${FIRST_KNOWN} >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
469 fi
470
471 sed -i -e "s|^\-server.*|\-server KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
472}
473
474pkg_prerm_${JDKPN}-vm-zero () {
475 sed -i -e "/^\-server.*/\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
476 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
477 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
478 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
479 fi
480}
481
482pkg_postinst_${JDKPN}-jre () {
483 update-alternatives --install ${bindir}/java java ${JDK_HOME}/jre/bin/java 15
484}
485
486pkg_prerm_${JDKPN}-jre () {
487 update-alternatives --remove java ${JDK_HOME}/jre/bin/java
488}
489
490pkg_postinst_${JDKPN}-jdk () {
491 update-alternatives --install ${bindir}/javac javac ${JDK_HOME}/bin/javac 15
492}
493
494pkg_prerm_${JDKPN}-jdk () {
495 update-alternatives --remove javac ${JDK_HOME}/bin/javac
496}
diff --git a/recipes-core/openjdk/openjdk-7-release-03b21.inc b/recipes-core/openjdk/openjdk-7-release-03b21.inc
new file mode 100644
index 0000000..40c1cf6
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-release-03b21.inc
@@ -0,0 +1,147 @@
1require openjdk-7-common.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
4
5FILESPATH =. "${FILE_DIRNAME}/openjdk-7-03b21:"
6
7# Name of the directory containing the compiled output
8BUILD_DIR = "openjdk.build"
9BUILD_DIR_ECJ = "openjdk.build-ecj"
10
11# Force arm mode for now
12ARM_INSTRUCTION_SET_armv4t = "ARM"
13
14ICEDTEA_URI = "http://icedtea.classpath.org/download/source/${ICEDTEA}.tar.gz;name=iced"
15
16ICEDTEA_PREFIX = "icedtea7-forest-2.1"
17ICEDTEA_HG_URL = "http://icedtea.classpath.org/hg/release/${ICEDTEA_PREFIX}"
18
19OPENJDK_CHANGESET = "22cc03983e20"
20OPENJDK_FILE = "${OPENJDK_CHANGESET}.tar.bz2"
21OPENJDK_URI = "${ICEDTEA_HG_URL}/archive/${OPENJDK_FILE};name=openjdk;unpack=false"
22SRC_URI[openjdk.md5sum] = "f98b0f7a69f9427a5b3775dddddc89cb"
23SRC_URI[openjdk.sha256sum] = "758227833982371e3a94def84226a947f8dbbd176517f313b8cb96840bdea41e"
24
25HOTSPOT_CHANGESET = "0e651e004747"
26HOTSPOT_FILE = "${HOTSPOT_CHANGESET}.tar.gz"
27HOTSPOT_URI = "${ICEDTEA_HG_URL}/hotspot/archive/${HOTSPOT_FILE};name=hotspot;unpack=false"
28SRC_URI[hotspot.md5sum] = "edd627c8781161eb33006ed668d833e0"
29SRC_URI[hotspot.sha256sum] = "d68455e5cdb14280cd61155a4e9d531e90b073607f4367e93ead0fcf34476ae1"
30
31CORBA_CHANGESET = "5617f6c5cc94"
32CORBA_FILE = "${CORBA_CHANGESET}.tar.gz"
33CORBA_URI = "${ICEDTEA_HG_URL}/corba/archive/${CORBA_FILE};name=corba;unpack=false"
34SRC_URI[corba.md5sum] = "920f1a788a7fdef29a5cd70892331251"
35SRC_URI[corba.sha256sum] = "963915483530f311ff313635f79ed11ea7ce5a1c0dbee5d1acb1994132857fa3"
36
37JAXP_CHANGESET = "1cf75c0e2c96"
38JAXP_FILE = "${JAXP_CHANGESET}.tar.gz"
39JAXP_URI = "${ICEDTEA_HG_URL}/jaxp/archive/${JAXP_FILE};name=jaxp;unpack=false"
40SRC_URI[jaxp.md5sum] = "56e609548b322149cb84604f232a4602"
41SRC_URI[jaxp.sha256sum] = "8ce48c704f38285207ee6dc56c45b2d214083b4d4d36be02901401b594ce701e"
42
43JAXWS_CHANGESET = "7edfbfe974f2"
44JAXWS_FILE = "${JAXWS_CHANGESET}.tar.gz"
45JAXWS_URI = "${ICEDTEA_HG_URL}/jaxws/archive/${JAXWS_FILE};name=jaxws;unpack=false"
46SRC_URI[jaxws.md5sum] = "2deecec809ea8e38835678889c2bc3ac"
47SRC_URI[jaxws.sha256sum] = "823ca6b8fd780bf1b1565a90cfc8ec6f0ee422a5d25ffb20b1ce0272dc4955aa"
48
49JDK_CHANGESET = "50f6f276a06c"
50JDK_FILE = "${JDK_CHANGESET}.tar.gz"
51JDK_URI = "${ICEDTEA_HG_URL}/jdk/archive/${JDK_FILE};name=jdk;unpack=false"
52SRC_URI[jdk.md5sum] = "7ee77eeeff600c5a4763b4ac76fd62bc"
53SRC_URI[jdk.sha256sum] = "5f8b5edbebb358730425e64a31eaa11c346467ba10ffe1848f2d2ad2ea53bc3d"
54
55LANGTOOLS_CHANGESET = "b534c4c6cd9b"
56LANGTOOLS_FILE = "${LANGTOOLS_CHANGESET}.tar.gz"
57LANGTOOLS_URI = "${ICEDTEA_HG_URL}/langtools/archive/${LANGTOOLS_FILE};name=langtools;unpack=false"
58SRC_URI[langtools.md5sum] = "16b72f3fea8ac4e5b50de693e87f9c53"
59SRC_URI[langtools.sha256sum] = "c77dd42d83f06d18fa8aa65c93d137608a2e02cf24b68fc10d7b1c0bcc12a93c"
60
61CACAO_VERSION = "a567bcb7f589"
62CACAO_FILE = "${CACAO_VERSION}.tar.gz"
63CACAO_URI = "http://icedtea.classpath.org/download/drops/cacao/${CACAO_FILE};name=cacao;unpack=false"
64SRC_URI[cacao.md5sum] = "ec1def7f0d3d25e9e7da47c480f26a73"
65SRC_URI[cacao.sha256sum] = "d49f79debc131a5694cae6ab3ba2864e7f3249ee8d9dc09aae8afdd4dc6b09f9"
66
67JAMVM_VERSION = "4617da717ecb05654ea5bb9572338061106a414d"
68JAMVM_FILE = "jamvm-${JAMVM_VERSION}.tar.gz"
69JAMVM_URI = "http://icedtea.classpath.org/download/drops/jamvm/${JAMVM_FILE};name=jamvm;unpack=false"
70SRC_URI[jamvm.md5sum] = "740c2587502831cac6797d1233a7e27b"
71SRC_URI[jamvm.sha256sum] = "47fce7bd556c1b1d29a93b8c45497e0d872b48b7f535066b303336f29d0f0d8d"
72
73# Allow overriding this separately
74OEPATCHES = "\
75 file://build-hacks.patch \
76 file://cacao-libtoolize.patch \
77 file://cacao-loadavg-makefile.patch \
78 file://fix_hotspot_crosscompile.patch \
79 file://fix-checksums.patch \
80 file://jamvm-extract.patch \
81 file://cacao-loadavg.patch;apply=no \
82 "
83
84# Allow overriding this separately
85ICEDTEAPATCHES = "\
86 file://icedtea-crosscompile-fix.patch;apply=no \
87 file://icedtea-hostbuildcc.patch;apply=no \
88 file://icedtea-unbreak-float.patch;apply=no \
89 file://icedtea-remove_werror.patch;apply=no \
90 file://icedtea-libnet-renaming.patch;apply=no \
91 file://icedtea-fix-xrender.patch;apply=no \
92 file://icedtea-shark-arm-linux-cpu-detection.patch;apply=no \
93 file://icedtea-corba-parallel-make.patch;apply=no \
94 file://icedtea-zero-hotspotfix.patch;apply=no \
95 "
96ICEDTEAPATCHES_append_powerpc = " \
97 file://icedtea-jdk-nio-use-host-cc.patch;apply=no \
98 file://icedtea-jdk-ppc64-jvm-cfg.patch;apply=no \
99 "
100ICEDTEAPATCHES_append_powerpc64 = " \
101 file://icedtea-jdk-nio-use-host-cc.patch;apply=no \
102 file://icedtea-jdk-ppc64-jvm-cfg.patch;apply=no \
103 "
104ICEDTEAPATCHES_append_libc-uclibc = " \
105 file://icedtea-hotspot-isfinte.patch;apply=no \
106 file://icedtea-hotspot-glibc-version.patch;apply=no \
107 file://icedtea-hotspot-loadavg.patch;apply=no \
108 file://icedtea-hotspot-isnanf.patch;apply=no \
109 file://icedtea-jdk-iconv-uclibc.patch;apply=no \
110 file://icedtea-jdk-remove-unused-backtrace.patch;apply=no \
111 file://icedtea-jdk-unpack-uclibc.patch;apply=no \
112 file://icedtea-hotspot-dlvsym-uclibc.patch;apply=no \
113 "
114
115# Allow overriding this separately
116DISTRIBUTION_PATCHES = "\
117 patches/icedtea-crosscompile-fix.patch \
118 patches/icedtea-hostbuildcc.patch \
119 patches/icedtea-unbreak-float.patch \
120 patches/icedtea-remove_werror.patch \
121 patches/icedtea-libnet-renaming.patch \
122 patches/icedtea-fix-xrender.patch \
123 patches/icedtea-shark-arm-linux-cpu-detection.patch \
124 patches/icedtea-corba-parallel-make.patch \
125 patches/icedtea-zero-hotspotfix.patch \
126 "
127
128DISTRIBUTION_PATCHES_append_libc-uclibc = "\
129 patches/icedtea-hotspot-isfinte.patch \
130 patches/icedtea-hotspot-isnanf.patch \
131 patches/icedtea-hotspot-glibc-version.patch \
132 patches/icedtea-hotspot-loadavg.patch \
133 patches/icedtea-jdk-iconv-uclibc.patch \
134 patches/icedtea-jdk-remove-unused-backtrace.patch \
135 patches/icedtea-jdk-unpack-uclibc.patch \
136 patches/icedtea-hotspot-dlvsym-uclibc.patch \
137 "
138
139DISTRIBUTION_PATCHES_append_powerpc = " \
140 patches/icedtea-jdk-nio-use-host-cc.patch \
141 patches/icedtea-jdk-ppc64-jvm-cfg.patch \
142 "
143DISTRIBUTION_PATCHES_append_powerpc64 = " \
144 patches/icedtea-jdk-nio-use-host-cc.patch \
145 patches/icedtea-jdk-ppc64-jvm-cfg.patch \
146 "
147export DISTRIBUTION_PATCHES
diff --git a/recipes-core/openjdk/openjdk-7_03b21-2.1.1.bb b/recipes-core/openjdk/openjdk-7_03b21-2.1.1.bb
new file mode 100644
index 0000000..42577d6
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7_03b21-2.1.1.bb
@@ -0,0 +1,24 @@
1require openjdk-7-release-03b21.inc
2
3PR = "${INC_PR}.0"
4
5ICEDTEA = "icedtea-2.1.1"
6
7SRC_URI[iced.md5sum] = "32859fa5f7337d58ae848311e2a94761"
8SRC_URI[iced.sha256sum] = "4a015cf3fb8fb9aa6b3ce4a41fd9bc5dcb417a1885a10a01e92d0cc7a5ffdc65"
9
10HOTSPOT_CHANGESET = "8b7c4c5f6ba9"
11SRC_URI[hotspot.md5sum] = "cb45a8f19d77acc1f4f48e75e36a27fe"
12SRC_URI[hotspot.sha256sum] = "22866990d143e76ced94b76defa3051e5e5d9a51fd272d63daa0df272d6406a2"
13
14CORBA_CHANGESET = "338c21646c76"
15SRC_URI[corba.md5sum] = "32d4851fca9c205fe1710a453c32a8fe"
16SRC_URI[corba.sha256sum] = "10425cbbb439551293a7a96a128f25ce408c38826bef8562f4c2d65d3134a1d3"
17
18JAXP_CHANGESET = "7a8825b15df6"
19SRC_URI[jaxp.md5sum] = "a0982b6df79739127871e355a40ca5a6"
20SRC_URI[jaxp.sha256sum] = "297c8dbeed5afa5395b6be06b17282d53f8a888c2909074dfc1605afc0daf1c2"
21
22JDK_CHANGESET = "d5ddeffc4651"
23SRC_URI[jdk.md5sum] = "27c28d6be213df818490e69f12efe475"
24SRC_URI[jdk.sha256sum] = "e83e6234842376147a4c32451f23d629ba107e908ebdb0f367657f9cc6c1be98"