Mercurial > hg > release > icedtea6-1.13
changeset 2235:552e98f1c215
Only patch the OpenGL headers when javah exhibits Classpath bug #40188.
2010-08-13 Andrew John Hughes <ahughes@redhat.com>
* patches/ecj/javah.patch: Moved to...
* Makefile.am: Apply patch to OpenGL headers
only if javah exhibits Classpath bug 40188.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40188
* patches/ecj/cp40188-opengl.patch: here.
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Fri, 13 Aug 2010 23:28:38 +0100 |
parents | 00d9b2c78bc4 |
children | fe7d70ac2b1a |
files | ChangeLog Makefile.am acinclude.m4 configure.ac patches/ecj/cp40188-opengl.patch patches/ecj/javah.patch |
diffstat | 6 files changed, 187 insertions(+), 95 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Aug 13 20:00:48 2010 +0100 +++ b/ChangeLog Fri Aug 13 23:28:38 2010 +0100 @@ -1,3 +1,34 @@ +2010-08-13 Andrew John Hughes <ahughes@redhat.com> + + * patches/ecj/javah.patch: Moved to... + * Makefile.am: Apply patch to OpenGL headers + only if javah exhibits Classpath bug 40188. + http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40188 + * patches/ecj/cp40188-opengl.patch: here. + +2009-05-19 Andrew John Hughes <ahughes@redhat.com> + + * acinclude.m4: + (IT_JAVAH): Renamed from IT_CP39408_JAVAH. + Add test for PR40188. + * configure.ac: + Make full bootstrap the default again. Rename + IT_CP39408_JAVAH to IT_JAVAH. + +2009-03-18 Andrew John Hughes <ahughes@redhat.com> + + * acinclude.m4: + (IT_CP39408_JAVAH): Add classpath specification + to JAVAC invocation to handle buggy ecjs. + +2009-03-17 Andrew John Hughes <ahughes@redhat.com> + + * acinclude.m4: + (IT_CP39408_JAVAH): New test for Classpath + bug 39408. + * configure.ac: Enable new test. Result + as yet unused. + 2010-08-13 Andrew John Hughes <ahughes@redhat.com> * Makefile.am:
--- a/Makefile.am Fri Aug 13 20:00:48 2010 +0100 +++ b/Makefile.am Fri Aug 13 23:28:38 2010 +0100 @@ -365,9 +365,10 @@ endif if ENABLE_XRENDER -ICEDTEA_ECJ_PATCHES += \ - patches/ecj/needs-6.patch \ - patches/ecj/javah.patch +ICEDTEA_ECJ_PATCHES += patches/ecj/needs-6.patch +if CP40188_JAVAH +ICEDTEA_ECJ_PATCHES += patches/ecj/cp40188-opengl.patch +endif endif if !HAS_PAX
--- a/acinclude.m4 Fri Aug 13 20:00:48 2010 +0100 +++ b/acinclude.m4 Fri Aug 13 23:28:38 2010 +0100 @@ -1515,3 +1515,62 @@ AM_CONDITIONAL([HAS_PAX], test x"${it_cv_pax}" = "xyes") AC_PROVIDE([$0])dnl ]) + +AC_DEFUN([IT_JAVAH],[ +AC_CACHE_CHECK([if $JAVAH exhibits Classpath bug 39408], it_cv_cp39408_javah, [ +SUPERCLASS=Test.java +SUBCLASS=TestImpl.java +SUB=$(echo $SUBCLASS|sed 's#\.java##') +SUBHEADER=$(echo $SUBCLASS|sed 's#\.java#.h#') +mkdir tmp.$$ +cd tmp.$$ +cat << \EOF > $SUPERCLASS +/* [#]line __oline__ "configure" */ +public class Test +{ + public static final int POTATO = 0; + public static final int CABBAGE = 1; +} +EOF +cat << \EOF > $SUBCLASS +/* [#]line __oline__ "configure" */ +public class TestImpl + extends Test +{ + public native void doStuff(); +} +EOF +if $JAVAC -cp . $JAVACFLAGS $SUBCLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVAH -classpath . $SUB >&AS_MESSAGE_LOG_FD 2>&1; then + if cat $SUBHEADER | grep POTATO >&AS_MESSAGE_LOG_FD 2>&1; then + it_cv_cp39408_javah=no; + else + it_cv_cp39408_javah=yes; + fi + else + AC_MSG_ERROR([The Java header generator $JAVAH failed]) + echo "configure: failed program was:" >&AC_FD_CC + cat $SUBCLASS >&AC_FD_CC + fi +else + AC_MSG_ERROR([The Java compiler $JAVAC failed]) + echo "configure: failed program was:" >&AC_FD_CC + cat $SUBCLASS >&AC_FD_CC +fi +]) +AC_CACHE_CHECK([if $JAVAH exhibits Classpath bug 40188], it_cv_cp40188_javah, [ + if test -e $SUBHEADER ; then + if cat $SUBHEADER | grep TestImpl_POTATO >&AS_MESSAGE_LOG_FD 2>&1; then + it_cv_cp40188_javah=no; + else + it_cv_cp40188_javah=yes; + fi + fi +]) +rm -f $SUBCLASS $SUPERCLASS $SUBHEADER *.class +cd .. +rmdir tmp.$$ +AM_CONDITIONAL([CP39408_JAVAH], test x"${it_cv_cp39408_javah}" = "xyes") +AM_CONDITIONAL([CP40188_JAVAH], test x"${it_cv_cp40188_javah}" = "xyes") +AC_PROVIDE([$0])dnl +])
--- a/configure.ac Fri Aug 13 20:00:48 2010 +0100 +++ b/configure.ac Fri Aug 13 23:28:38 2010 +0100 @@ -180,6 +180,7 @@ AC_CHECK_WITH_TZDATA_DIR IT_GETDTDTYPE_CHECK IT_CHECK_XULRUNNER_VERSION +IT_JAVAH dnl pkgconfig cannot be used to find these headers and libraries. AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/cp40188-opengl.patch Fri Aug 13 23:28:38 2010 +0100 @@ -0,0 +1,92 @@ +diff -Nru openjdk-boot.orig/jdk/make/common/Rules.gmk openjdk-boot/jdk/make/common/Rules.gmk +--- openjdk-ecj.orig/jdk/make/common/Rules.gmk 2009-12-13 20:37:41.000000000 +0000 ++++ openjdk-ecj/jdk/make/common/Rules.gmk 2009-12-13 21:11:04.000000000 +0000 +@@ -303,7 +303,11 @@ + $(prep-target) + @$(ECHO) "# Running javah:" + $(JAVAH_CMD) -d $(CLASSHDRDIR)/ \ +- $(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner)) ++ $(CLASSES.export) ++ $(foreach innerclass,$(subst $$,\$$,$(EXPORTED_inner)), \ ++ $(JAVAH_CMD) \ ++ -o $(CLASSHDRDIR)/$(subst .,_,$(subst \$$,_,$(innerclass))).h \ ++ $(innerclass)) + @$(java-vm-cleanup) + @$(TOUCH) $@ + +diff -Nru openjdk-boot.orig/jdk/make/sun/awt/FILES_export_unix.gmk openjdk-boot/jdk/make/sun/awt/FILES_export_unix.gmk +--- openjdk-ecj.orig/jdk/make/sun/awt/FILES_export_unix.gmk 2009-12-04 23:26:35.000000000 +0000 ++++ openjdk-ecj/jdk/make/sun/awt/FILES_export_unix.gmk 2009-12-13 21:11:04.000000000 +0000 +@@ -189,3 +189,5 @@ + java/awt/dnd/DnDConstants.java \ + sun/awt/CausedFocusEvent.java + ++EXPORTED_inner = \ ++ sun.java2d.opengl.OGLContext$$OGLContextCaps +diff -Nru openjdk-boot.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h openjdk-boot/jdk/src/share/native/sun/java2d/opengl/OGLContext.h +--- openjdk-ecj.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-12-04 23:33:16.000000000 +0000 ++++ openjdk-ecj/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-12-13 21:11:04.000000000 +0000 +@@ -27,6 +27,7 @@ + #define OGLContext_h_Included + + #include "sun_java2d_pipe_BufferedContext.h" ++#include "sun_java2d_pipe_hw_ContextCapabilities.h" + #include "sun_java2d_opengl_OGLContext.h" + #include "sun_java2d_opengl_OGLContext_OGLContextCaps.h" + +@@ -100,39 +101,39 @@ + * See OGLContext.java for more on these flags. + */ + #define CAPS_EMPTY \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EMPTY ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_EMPTY + #define CAPS_RT_PLAIN_ALPHA \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_PLAIN_ALPHA ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_PLAIN_ALPHA + #define CAPS_RT_TEXTURE_ALPHA \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_TEXTURE_ALPHA ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_TEXTURE_ALPHA + #define CAPS_RT_TEXTURE_OPAQUE \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_TEXTURE_OPAQUE ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_TEXTURE_OPAQUE + #define CAPS_MULTITEXTURE \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_MULTITEXTURE ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_MULTITEXTURE + #define CAPS_TEXNONPOW2 \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_TEXNONPOW2 ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_TEXNONPOW2 + #define CAPS_TEXNONSQUARE \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_TEXNONSQUARE ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_TEXNONSQUARE + #define CAPS_PS20 \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_PS20 ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_PS20 + #define CAPS_PS30 \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_PS30 ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_PS30 + #define LAST_SHARED_CAP \ + sun_java2d_opengl_OGLContext_OGLContextCaps_LAST_SHARED_CAP + #define CAPS_EXT_FBOBJECT \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_FBOBJECT ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_FBOBJECT + #define CAPS_STORED_ALPHA \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_STORED_ALPHA ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_STORED_ALPHA + #define CAPS_DOUBLEBUFFERED \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_DOUBLEBUFFERED ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_DOUBLEBUFFERED + #define CAPS_EXT_LCD_SHADER \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_LCD_SHADER ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_LCD_SHADER + #define CAPS_EXT_BIOP_SHADER \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_BIOP_SHADER ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_BIOP_SHADER + #define CAPS_EXT_GRAD_SHADER \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_GRAD_SHADER ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_GRAD_SHADER + #define CAPS_EXT_TEXRECT \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_TEXRECT ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_TEXRECT + + /** + * Evaluates to true if the given capability bitmask is present for the
--- a/patches/ecj/javah.patch Fri Aug 13 20:00:48 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ -diff -Nru openjdk-boot.orig/jdk/make/common/Rules.gmk openjdk-boot/jdk/make/common/Rules.gmk ---- openjdk-ecj.orig/jdk/make/common/Rules.gmk 2009-12-13 20:37:41.000000000 +0000 -+++ openjdk-ecj/jdk/make/common/Rules.gmk 2009-12-13 21:11:04.000000000 +0000 -@@ -303,7 +303,11 @@ - $(prep-target) - @$(ECHO) "# Running javah:" - $(JAVAH_CMD) -d $(CLASSHDRDIR)/ \ -- $(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner)) -+ $(CLASSES.export) -+ $(foreach innerclass,$(subst $$,\$$,$(EXPORTED_inner)), \ -+ $(JAVAH_CMD) \ -+ -o $(CLASSHDRDIR)/$(subst .,_,$(subst \$$,_,$(innerclass))).h \ -+ $(innerclass)) - @$(java-vm-cleanup) - @$(TOUCH) $@ - -diff -Nru openjdk-boot.orig/jdk/make/sun/awt/FILES_export_unix.gmk openjdk-boot/jdk/make/sun/awt/FILES_export_unix.gmk ---- openjdk-ecj.orig/jdk/make/sun/awt/FILES_export_unix.gmk 2009-12-04 23:26:35.000000000 +0000 -+++ openjdk-ecj/jdk/make/sun/awt/FILES_export_unix.gmk 2009-12-13 21:11:04.000000000 +0000 -@@ -189,3 +189,5 @@ - java/awt/dnd/DnDConstants.java \ - sun/awt/CausedFocusEvent.java - -+EXPORTED_inner = \ -+ sun.java2d.opengl.OGLContext$$OGLContextCaps -diff -Nru openjdk-boot.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h openjdk-boot/jdk/src/share/native/sun/java2d/opengl/OGLContext.h ---- openjdk-ecj.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-12-04 23:33:16.000000000 +0000 -+++ openjdk-ecj/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-12-13 21:11:04.000000000 +0000 -@@ -27,6 +27,7 @@ - #define OGLContext_h_Included - - #include "sun_java2d_pipe_BufferedContext.h" -+#include "sun_java2d_pipe_hw_ContextCapabilities.h" - #include "sun_java2d_opengl_OGLContext.h" - #include "sun_java2d_opengl_OGLContext_OGLContextCaps.h" - -@@ -100,39 +101,39 @@ - * See OGLContext.java for more on these flags. - */ - #define CAPS_EMPTY \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EMPTY -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_EMPTY - #define CAPS_RT_PLAIN_ALPHA \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_PLAIN_ALPHA -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_PLAIN_ALPHA - #define CAPS_RT_TEXTURE_ALPHA \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_TEXTURE_ALPHA -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_TEXTURE_ALPHA - #define CAPS_RT_TEXTURE_OPAQUE \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_TEXTURE_OPAQUE -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_TEXTURE_OPAQUE - #define CAPS_MULTITEXTURE \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_MULTITEXTURE -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_MULTITEXTURE - #define CAPS_TEXNONPOW2 \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_TEXNONPOW2 -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_TEXNONPOW2 - #define CAPS_TEXNONSQUARE \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_TEXNONSQUARE -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_TEXNONSQUARE - #define CAPS_PS20 \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_PS20 -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_PS20 - #define CAPS_PS30 \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_PS30 -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_PS30 - #define LAST_SHARED_CAP \ - sun_java2d_opengl_OGLContext_OGLContextCaps_LAST_SHARED_CAP - #define CAPS_EXT_FBOBJECT \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_FBOBJECT -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_FBOBJECT - #define CAPS_STORED_ALPHA \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_STORED_ALPHA -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_STORED_ALPHA - #define CAPS_DOUBLEBUFFERED \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_DOUBLEBUFFERED -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_DOUBLEBUFFERED - #define CAPS_EXT_LCD_SHADER \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_LCD_SHADER -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_LCD_SHADER - #define CAPS_EXT_BIOP_SHADER \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_BIOP_SHADER -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_BIOP_SHADER - #define CAPS_EXT_GRAD_SHADER \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_GRAD_SHADER -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_GRAD_SHADER - #define CAPS_EXT_TEXRECT \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_TEXRECT -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_TEXRECT - - /** - * Evaluates to true if the given capability bitmask is present for the