java/69853: Patches to build java/jdk14 with GCC 3.4

java/69853: Patches to build java/jdk14 with GCC 3.4

Post by jhamb » Mon, 02 Aug 2004 03:40:43


anObject
System: FreeBSD atheros 5.2-CURRENT FreeBSD 5.2-CURRENT #0: Thu Jul 29 17:26:29 PDT 2004 root@atheros:/usr/home/work/ATHEROS i386

gcc (GCC) 3.4.2 [FreeBSD] 20040728


JDK 1.4.2p6_4 doesn't build under GCC 3.4.2 due to stricter type checking
(patches attached).


Build java/jdk-1.4.2p6_4 using GCC 3.4.2 recently committed to -current.


Some notes on the patches. The first one is the only patch needed for the JDK
itself (it's casting away a const, but needs to be (byte*&) rather than (byte*)
or else GCC 3.4 won't find the matching member function).

The second patch is a bit of a hack for the Netscape 6/Mozilla plugin (which I've
verified will load and works okay for both mozilla-1.7.1,2 and firefox-0.9.1_1).
For UNIX, the correct HAVE_CPP_* macros are supposed to be defined by autoconf in,
for example, "xpcom/xpcom-config.h" (according to the headers installed by
Mozilla). But this file is missing altogether from the version of the headers
installed by the BSD JDK patches, and GCC 3.4 really needs
HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX defined or else it fails because
"template<>" isn't being inserted in the right spots. Since both GCC 3.4 and
the Metrowerks compiler support all of the HAVE_CPP features, I cheated and reused
those defines for the NS_UNIX build.


--- patch-awt_fontmanager_t2kScalaerContext.cpp begins here ---
--- ../../j2se/src/share/native/sun/awt/font/fontmanager/fontobjects/t2kScalerContext.cpp.orig Fri Jul 30 18:00:09 2004
+++ ../../j2se/src/share/native/sun/awt/font/fontmanager/fontobjects/t2kScalerContext.cpp Fri Jul 30 22:11:36 2004
@@ -937,14 +937,14 @@
CMAPMapper::CharsToGlyphs(
int count, const Unicode16 unicodes[], UInt32 glyphs[]) const
{
- ConvertUnicodeToGlyphs(*font, (unsigned char *)cmap, count, unicodes, glyphs);
+ ConvertUnicodeToGlyphs(*font, (byte*&)cmap, count, unicodes, glyphs);
}

void
CMAPMapper::CharsToGlyphs(
int count, const Unicode32 unicodes[], UInt32 glyphs[]) const
{
- ConvertUnicodeToGlyphs(*font, (unsigned char *)cmap, count, unicodes, glyphs);
+ ConvertUnicodeToGlyphs(*font, (byte*&)cmap, count, unicodes, glyphs);
}

//////////////////////////////////////////////////////////////////////////////
--- patch-awt_fontmanager_t2kScalaerContext.cpp ends here ---

--- patch-plugin::include::nscore.h begins here ---
--- ../../deploy/src/plugin/oji-plugin/include/mozilla_headers_ns610/nscore.h.orig Fri Jul 30 18:00:05 2004
+++ ../../deploy/src/plugin/oji-plugin/include/mozilla_headers_ns610/nscore.h Fri Jul 30 23:23:36 2004
@@ -163,7 +163,7 @@
*/

/* under Metrowerks (Mac), we don't have autoconf yet */
-#ifdef __MWERKS__
+#if defined(__MWERKS__) || defined(NS_UNIX)
#define HAVE_CPP_SPECIALIZATION
#define HAVE_CPP_PARTIAL_SPECIALIZATION
#define HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX
--- ../../deploy/src/plugin/oji-plugin/include/mozilla_headers_ns600/nscore.h.orig Fri Jul 30 18:00:04 2004
+++ ../../deploy/src/plugin/oji-plugin/include/mozilla_headers_ns600/nscore.h Fri Jul 30 23:32:31 2004
@@ -163,7 +163,7 @@
*/

/* under Metrowerks (Mac), we don't have autoconf yet */
-#ifdef __MWERKS__
+#if defined(__MWERKS__) || defined(NS_UNIX)
#define HAVE_CPP_SPECIALIZATION
#define HAVE_CPP_PARTIAL_SPECIALIZATION
#define HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX
--- patch-plugin::include::nscore.h ends here ---


______________________
 
 
 

java/69853: Patches to build java/jdk14 with GCC 3.4

Post by glewi » Fri, 06 Aug 2004 23:47:19

Synopsis: Patches to build java/jdk14 with GCC 3.4

Responsible-Changed-From-To: freebsd-java->phantom
Responsible-Changed-By: glewis
Responsible-Changed-When: Thu Aug 5 14:47:05 GMT 2004
Responsible-Changed-Why:
Over to maintainer.

http://www.yqcomputer.com/
_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "