<!-- Generator: GNU source-highlight 2.4
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt>#
#
# add_file "packages/classpath/files/SimpleName.diff"
# content [cfbbed49b3be9cc1944659dde6728ec191ed9aea]
#
# add_file "packages/classpath/files/netif_16.patch"
# content [65f812866975ec98e775dd6add8c19c08ca527d3]
#
# patch "packages/classpath/classpath-minimal_0.97.1.bb"
# from [0ef04bfd389c769d1b67f97975fcdd35f68c4855]
# to [ff46d0cb295bca189b6ab07f6506b2e039917ae0]
#
# patch "packages/classpath/classpath_0.97.1.bb"
# from [db8b170f0f6f53145caf1d439efa49971f8c4475]
# to [924cfdaf2daafe993d70dba55a853c4eb5250f64]
#
============================================================
<font color="#FF6600">--- packages/classpath/files/SimpleName.diff        cfbbed49b3be9cc1944659dde6728ec191ed9aea</font>
<font color="#009900">+++ packages/classpath/files/SimpleName.diff        cfbbed49b3be9cc1944659dde6728ec191ed9aea</font>
<font color="#0000FF">@@ -0,0 +1,66 @@</font>
<font color="#009900">+Index: vm/reference/java/lang/VMClass.java</font>
<font color="#009900">+===================================================================</font>
<font color="#009900">+RCS file: /sources/classpath/classpath/vm/reference/java/lang/VMClass.java,v</font>
<font color="#009900">+retrieving revision 1.20</font>
<font color="#009900">+diff -u -r1.20 VMClass.java</font>
<font color="#009900">+--- vm/reference/java/lang/VMClass.java        18 Sep 2007 21:52:38 -0000        1.20</font>
<font color="#009900">++++ vm/reference/java/lang/VMClass.java        19 Apr 2008 15:19:00 -0000</font>
<font color="#009900">+@@ -296,27 +296,43 @@</font>
<font color="#009900">+ */</font>
<font color="#009900">+ static String getSimpleName(Class klass)</font>
<font color="#009900">+ {</font>
<font color="#009900">++ int arrayCount = 0;</font>
<font color="#009900">++ while (klass.isArray())</font>
<font color="#009900">++ {</font>
<font color="#009900">++ klass = klass.getComponentType();</font>
<font color="#009900">++ ++arrayCount;</font>
<font color="#009900">++ }</font>
<font color="#009900">++ // now klass is the component type</font>
<font color="#009900">++ </font>
<font color="#009900">++ String simpleComponentName = null;</font>
<font color="#009900">+ if (isAnonymousClass(klass))</font>
<font color="#009900">+- return "";</font>
<font color="#009900">+- if (isArray(klass))</font>
<font color="#009900">+ {</font>
<font color="#009900">+-        return getComponentType(klass).getSimpleName() + "[]";</font>
<font color="#009900">++ simpleComponentName = "";</font>
<font color="#009900">+ }</font>
<font color="#009900">+- String fullName = getName(klass);</font>
<font color="#009900">+- int pos = fullName.lastIndexOf("$");</font>
<font color="#009900">+- if (pos == -1)</font>
<font color="#009900">+- pos = 0;</font>
<font color="#009900">+ else</font>
<font color="#009900">+ {</font>
<font color="#009900">+-        ++pos;</font>
<font color="#009900">+-        while (Character.isDigit(fullName.charAt(pos)))</font>
<font color="#009900">+-         ++pos;</font>
<font color="#009900">++ String fullName = getName(klass);</font>
<font color="#009900">++ int pos = fullName.lastIndexOf("$");</font>
<font color="#009900">++ if (pos != -1) </font>
<font color="#009900">++ { //inner class or local class</font>
<font color="#009900">++ // skip digits of local classes</font>
<font color="#009900">++ while (Character.isDigit(fullName.charAt(pos+1)))</font>
<font color="#009900">++ pos++;</font>
<font color="#009900">++ } </font>
<font color="#009900">++ else </font>
<font color="#009900">++ {</font>
<font color="#009900">++ pos = fullName.lastIndexOf(".");</font>
<font color="#009900">++ }</font>
<font color="#009900">++ simpleComponentName = fullName.substring(pos+1);</font>
<font color="#009900">+ }</font>
<font color="#009900">+- int packagePos = fullName.lastIndexOf(".", pos);</font>
<font color="#009900">+- if (packagePos == -1)</font>
<font color="#009900">+- return fullName.substring(pos);</font>
<font color="#009900">+- else</font>
<font color="#009900">+- return fullName.substring(packagePos + 1);</font>
<font color="#009900">++ </font>
<font color="#009900">++ if (arrayCount == 0)</font>
<font color="#009900">++ return simpleComponentName;</font>
<font color="#009900">++ </font>
<font color="#009900">++ StringBuffer sb = new StringBuffer(simpleComponentName);</font>
<font color="#009900">++ while (arrayCount-- > 0)</font>
<font color="#009900">++ sb.append("[]");</font>
<font color="#009900">++ return sb.toString(); </font>
<font color="#009900">+ }</font>
<font color="#009900">+ </font>
<font color="#009900">+ /**</font>
============================================================
<font color="#FF6600">--- packages/classpath/files/netif_16.patch        65f812866975ec98e775dd6add8c19c08ca527d3</font>
<font color="#009900">+++ packages/classpath/files/netif_16.patch        65f812866975ec98e775dd6add8c19c08ca527d3</font>
<font color="#0000FF">@@ -0,0 +1,263 @@</font>
<font color="#009900">+Index: java/net/NetworkInterface.java</font>
<font color="#009900">+===================================================================</font>
<font color="#009900">+RCS file: /sources/classpath/classpath/java/net/NetworkInterface.java,v</font>
<font color="#009900">+retrieving revision 1.23</font>
<font color="#009900">+diff -u -r1.23 NetworkInterface.java</font>
<font color="#009900">+--- java/net/NetworkInterface.java        18 Dec 2006 21:37:39 -0000        1.23</font>
<font color="#009900">++++ java/net/NetworkInterface.java        21 Apr 2008 10:38:25 -0000</font>
<font color="#009900">+@@ -1,5 +1,5 @@</font>
<font color="#009900">+ /* NetworkInterface.java --</font>
<font color="#009900">+- Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.</font>
<font color="#009900">++ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc.</font>
<font color="#009900">+ </font>
<font color="#009900">+ This file is part of GNU Classpath.</font>
<font color="#009900">+ </font>
<font color="#009900">+@@ -265,4 +265,50 @@</font>
<font color="#009900">+ </font>
<font color="#009900">+ return result.toString();</font>
<font color="#009900">+ }</font>
<font color="#009900">++</font>
<font color="#009900">++ /**</font>
<font color="#009900">++ * Determines whether this interface is ready to transfer data.</font>
<font color="#009900">++ *</font>
<font color="#009900">++ * @return whether the interface is up</font>
<font color="#009900">++ */</font>
<font color="#009900">++ public boolean isUp()</font>
<font color="#009900">++ throws SocketException</font>
<font color="#009900">++ {</font>
<font color="#009900">++ return VMNetworkInterface.isUp(netif.name);</font>
<font color="#009900">++ }</font>
<font color="#009900">++</font>
<font color="#009900">++ /**</font>
<font color="#009900">++ * Determines whether this interface does point to point</font>
<font color="#009900">++ * transmission.</font>
<font color="#009900">++ *</font>
<font color="#009900">++ * @return whether the interface does point to point transmission</font>
<font color="#009900">++ */</font>
<font color="#009900">++ public boolean isPointToPoint()</font>
<font color="#009900">++ throws SocketException</font>
<font color="#009900">++ {</font>
<font color="#009900">++ return VMNetworkInterface.isPointToPoint(netif.name);</font>
<font color="#009900">++ }</font>
<font color="#009900">++</font>
<font color="#009900">++ /**</font>
<font color="#009900">++ * Determines whether this interface is the loopback interface.</font>
<font color="#009900">++ *</font>
<font color="#009900">++ * @return whether the interface is the loopback interface</font>
<font color="#009900">++ */</font>
<font color="#009900">++ public boolean isLoopback()</font>
<font color="#009900">++ throws SocketException</font>
<font color="#009900">++ {</font>
<font color="#009900">++ return VMNetworkInterface.isLoopback(netif.name);</font>
<font color="#009900">++ }</font>
<font color="#009900">++</font>
<font color="#009900">++ /**</font>
<font color="#009900">++ * Determines whether this interface supports multicast transmission.</font>
<font color="#009900">++ *</font>
<font color="#009900">++ * @return whether the interface supports multicast transmission.</font>
<font color="#009900">++ */</font>
<font color="#009900">++ public boolean supportsMulticast()</font>
<font color="#009900">++ throws SocketException</font>
<font color="#009900">++ {</font>
<font color="#009900">++ return VMNetworkInterface.supportsMulticast(netif.name);</font>
<font color="#009900">++ }</font>
<font color="#009900">++</font>
<font color="#009900">+ }</font>
<font color="#009900">+Index: vm/reference/java/net/VMNetworkInterface.java</font>
<font color="#009900">+===================================================================</font>
<font color="#009900">+RCS file: /sources/classpath/classpath/vm/reference/java/net/VMNetworkInterface.java,v</font>
<font color="#009900">+retrieving revision 1.7</font>
<font color="#009900">+diff -u -r1.7 VMNetworkInterface.java</font>
<font color="#009900">+--- vm/reference/java/net/VMNetworkInterface.java        18 Dec 2006 21:37:39 -0000        1.7</font>
<font color="#009900">++++ vm/reference/java/net/VMNetworkInterface.java        21 Apr 2008 10:38:25 -0000</font>
<font color="#009900">+@@ -1,5 +1,5 @@</font>
<font color="#009900">+ /* VMNetworkInterface.java --</font>
<font color="#009900">+- Copyright (C) 2005 Free Software Foundation, Inc.</font>
<font color="#009900">++ Copyright (C) 2005, 2008 Free Software Foundation, Inc.</font>
<font color="#009900">+ </font>
<font color="#009900">+ This file is part of GNU Classpath.</font>
<font color="#009900">+ </font>
<font color="#009900">+@@ -119,4 +119,13 @@</font>
<font color="#009900">+ else</font>
<font color="#009900">+ throw new SocketException("invalid interface address");</font>
<font color="#009900">+ }</font>
<font color="#009900">++</font>
<font color="#009900">++ static native boolean isUp(String name) throws SocketException;</font>
<font color="#009900">++</font>
<font color="#009900">++ static native boolean isLoopback(String name) throws SocketException;</font>
<font color="#009900">++</font>
<font color="#009900">++ static native boolean isPointToPoint(String name) throws SocketException;</font>
<font color="#009900">++</font>
<font color="#009900">++ static native boolean supportsMulticast(String name) throws SocketException;</font>
<font color="#009900">++</font>
<font color="#009900">+ }</font>
<font color="#009900">+Index: native/jni/java-net/java_net_VMNetworkInterface.c</font>
<font color="#009900">+===================================================================</font>
<font color="#009900">+RCS file: /sources/classpath/classpath/native/jni/java-net/java_net_VMNetworkInterface.c,v</font>
<font color="#009900">+retrieving revision 1.6</font>
<font color="#009900">+diff -u -r1.6 java_net_VMNetworkInterface.c</font>
<font color="#009900">+--- native/jni/java-net/java_net_VMNetworkInterface.c        5 Apr 2007 12:34:19 -0000        1.6</font>
<font color="#009900">++++ native/jni/java-net/java_net_VMNetworkInterface.c        21 Apr 2008 10:38:25 -0000</font>
<font color="#009900">+@@ -1,5 +1,5 @@</font>
<font color="#009900">+ /* VMNetworkInterface.c - Native methods for NetworkInterface class</font>
<font color="#009900">+- Copyright (C) 2003, 2005, 2006 Free Software Foundation, Inc.</font>
<font color="#009900">++ Copyright (C) 2003, 2005, 2006, 2008 Free Software Foundation, Inc.</font>
<font color="#009900">+ </font>
<font color="#009900">+ This file is part of GNU Classpath.</font>
<font color="#009900">+ </font>
<font color="#009900">+@@ -50,11 +50,18 @@</font>
<font color="#009900">+ #include <stdio.h></font>
<font color="#009900">+ #include <string.h></font>
<font color="#009900">+ </font>
<font color="#009900">++#include <net/if.h></font>
<font color="#009900">++#include <sys/ioctl.h></font>
<font color="#009900">++</font>
<font color="#009900">+ #include <jni.h></font>
<font color="#009900">+ #include <jcl.h></font>
<font color="#009900">+ </font>
<font color="#009900">++#include <cpnative.h></font>
<font color="#009900">++#include <cpnet.h></font>
<font color="#009900">++</font>
<font color="#009900">+ #include "java_net_VMNetworkInterface.h"</font>
<font color="#009900">+ </font>
<font color="#009900">++int iff_flags(JNIEnv *, jstring, jint *);</font>
<font color="#009900">+ </font>
<font color="#009900">+ static jmethodID java_net_VMNetworkInterface_init;</font>
<font color="#009900">+ static jmethodID java_net_VMNetworkInterface_addAddress;</font>
<font color="#009900">+@@ -251,4 +258,136 @@</font>
<font color="#009900">+ #endif /* HAVE_IFADDRS_H && HAVE_GETIFADDRS */</font>
<font color="#009900">+ }</font>
<font color="#009900">+ </font>
<font color="#009900">++int iff_flags(JNIEnv *env, jstring name, jint *flags)</font>
<font color="#009900">++{</font>
<font color="#009900">++ struct ifreq iff;</font>
<font color="#009900">++ const char *iff_name;</font>
<font color="#009900">++ jint socket;</font>
<font color="#009900">++ int error, retval;</font>
<font color="#009900">++</font>
<font color="#009900">++ if ((error = cpnet_openSocketDatagram(env, &socket, AF_INET)))</font>
<font color="#009900">++ {</font>
<font color="#009900">++ return error;</font>
<font color="#009900">++ }</font>
<font color="#009900">++</font>
<font color="#009900">++ iff_name = JCL_jstring_to_cstring(env, name);</font>
<font color="#009900">++ memset(&iff, 0, sizeof(iff));</font>
<font color="#009900">++ strcpy(iff.ifr_name, iff_name);</font>
<font color="#009900">++ </font>
<font color="#009900">++ if (ioctl(socket, SIOCGIFFLAGS, &iff) >= 0)</font>
<font color="#009900">++ {</font>
<font color="#009900">++ *flags = (jint) iff.ifr_flags;</font>
<font color="#009900">++</font>
<font color="#009900">++ retval = 0;</font>
<font color="#009900">++ }</font>
<font color="#009900">++ else</font>
<font color="#009900">++ {</font>
<font color="#009900">++ retval = errno;</font>
<font color="#009900">++ }</font>
<font color="#009900">++</font>
<font color="#009900">++ cpnet_close(env, socket);</font>
<font color="#009900">++</font>
<font color="#009900">++ JCL_free_cstring(env, name, iff_name);</font>
<font color="#009900">++</font>
<font color="#009900">++ return retval;</font>
<font color="#009900">++}</font>
<font color="#009900">++</font>
<font color="#009900">++JNIEXPORT jboolean JNICALL</font>
<font color="#009900">++Java_java_net_VMNetworkInterface_isUp (JNIEnv *env, jclass class UNUSED,</font>
<font color="#009900">++ jstring name)</font>
<font color="#009900">++{</font>
<font color="#009900">++ jint flags;</font>
<font color="#009900">++ int error;</font>
<font color="#009900">++ jboolean retval;</font>
<font color="#009900">++</font>
<font color="#009900">++ if ((error = iff_flags(env, name, &flags)))</font>
<font color="#009900">++ {</font>
<font color="#009900">++ JCL_ThrowException(env, "java/net/SocketException",</font>
<font color="#009900">++ cpnative_getErrorString(error));</font>
<font color="#009900">++</font>
<font color="#009900">++ retval = JNI_FALSE;</font>
<font color="#009900">++ }</font>
<font color="#009900">++ else</font>
<font color="#009900">++ {</font>
<font color="#009900">++ retval = (flags & (IFF_UP | IFF_RUNNING))</font>
<font color="#009900">++ ? JNI_TRUE</font>
<font color="#009900">++ : JNI_FALSE;</font>
<font color="#009900">++ }</font>
<font color="#009900">++</font>
<font color="#009900">++ return retval;</font>
<font color="#009900">++}</font>
<font color="#009900">++</font>
<font color="#009900">++JNIEXPORT jboolean JNICALL</font>
<font color="#009900">++Java_java_net_VMNetworkInterface_isPointToPoint (JNIEnv *env,</font>
<font color="#009900">++ jclass class UNUSED,</font>
<font color="#009900">++ jstring name)</font>
<font color="#009900">++{</font>
<font color="#009900">++ jint flags;</font>
<font color="#009900">++ int error;</font>
<font color="#009900">++ jboolean retval;</font>
<font color="#009900">++</font>
<font color="#009900">++ if ((error = iff_flags(env, name, &flags)))</font>
<font color="#009900">++ {</font>
<font color="#009900">++ JCL_ThrowException(env, "java/net/SocketException",</font>
<font color="#009900">++ cpnative_getErrorString(error));</font>
<font color="#009900">++</font>
<font color="#009900">++ retval = JNI_FALSE;</font>
<font color="#009900">++ }</font>
<font color="#009900">++ else</font>
<font color="#009900">++ {</font>
<font color="#009900">++ retval = (flags & IFF_POINTOPOINT) ? JNI_TRUE</font>
<font color="#009900">++ : JNI_FALSE;</font>
<font color="#009900">++ }</font>
<font color="#009900">++</font>
<font color="#009900">++ return retval;</font>
<font color="#009900">++}</font>
<font color="#009900">++</font>
<font color="#009900">++JNIEXPORT jboolean JNICALL</font>
<font color="#009900">++Java_java_net_VMNetworkInterface_isLoopback (JNIEnv *env,</font>
<font color="#009900">++ jclass class UNUSED,</font>
<font color="#009900">++ jstring name)</font>
<font color="#009900">++{</font>
<font color="#009900">++ jint flags;</font>
<font color="#009900">++ int error;</font>
<font color="#009900">++ jboolean retval;</font>
<font color="#009900">++</font>
<font color="#009900">++ if ((error = iff_flags(env, name, &flags)))</font>
<font color="#009900">++ {</font>
<font color="#009900">++ JCL_ThrowException(env, "java/net/SocketException",</font>
<font color="#009900">++ cpnative_getErrorString(error));</font>
<font color="#009900">++</font>
<font color="#009900">++ retval = JNI_FALSE;</font>
<font color="#009900">++ }</font>
<font color="#009900">++ else</font>
<font color="#009900">++ {</font>
<font color="#009900">++ retval = (flags & IFF_LOOPBACK) ? JNI_TRUE : JNI_FALSE;</font>
<font color="#009900">++ }</font>
<font color="#009900">++</font>
<font color="#009900">++ return retval;</font>
<font color="#009900">++}</font>
<font color="#009900">++</font>
<font color="#009900">++JNIEXPORT jboolean JNICALL</font>
<font color="#009900">++Java_java_net_VMNetworkInterface_supportsMulticast (JNIEnv *env,</font>
<font color="#009900">++ jclass class UNUSED,</font>
<font color="#009900">++ jstring name)</font>
<font color="#009900">++{</font>
<font color="#009900">++ jint flags;</font>
<font color="#009900">++ int error;</font>
<font color="#009900">++ jboolean retval;</font>
<font color="#009900">++</font>
<font color="#009900">++ if ((error = iff_flags(env, name, &flags)))</font>
<font color="#009900">++ {</font>
<font color="#009900">++ JCL_ThrowException(env, "java/net/SocketException",</font>
<font color="#009900">++ cpnative_getErrorString(error));</font>
<font color="#009900">++</font>
<font color="#009900">++ retval = JNI_FALSE;</font>
<font color="#009900">++ }</font>
<font color="#009900">++ else</font>
<font color="#009900">++ {</font>
<font color="#009900">++ retval = (flags & IFF_MULTICAST) ? JNI_TRUE : JNI_FALSE;</font>
<font color="#009900">++ }</font>
<font color="#009900">++</font>
<font color="#009900">++ return retval;</font>
<font color="#009900">++}</font>
<font color="#009900">++</font>
<font color="#009900">+ /* end of file */</font>
============================================================
<font color="#FF6600">--- packages/classpath/classpath-minimal_0.97.1.bb        0ef04bfd389c769d1b67f97975fcdd35f68c4855</font>
<font color="#009900">+++ packages/classpath/classpath-minimal_0.97.1.bb        ff46d0cb295bca189b6ab07f6506b2e039917ae0</font>
<font color="#0000FF">@@ -1,7 +1,12 @@ require classpath.inc</font>
require classpath.inc
<font color="#FF6600">-PR = "r0"</font>
<font color="#009900">+SRC_URI += "\</font>
<font color="#009900">+ file://netif_16.patch;patch=1;pnum=0 \</font>
<font color="#009900">+ file://SimpleName.diff;patch=1;pnum=0 \</font>
<font color="#009900">+ "</font>
<font color="#009900">+PR = "r1"</font>
<font color="#009900">+</font>
PROVIDES = "${PN} classpath"
EXTRA_OECONF += "\
============================================================
<font color="#FF6600">--- packages/classpath/classpath_0.97.1.bb        db8b170f0f6f53145caf1d439efa49971f8c4475</font>
<font color="#009900">+++ packages/classpath/classpath_0.97.1.bb        924cfdaf2daafe993d70dba55a853c4eb5250f64</font>
<font color="#0000FF">@@ -1,7 +1,12 @@ require classpath.inc</font>
require classpath.inc
<font color="#FF6600">-PR = "r0"</font>
<font color="#009900">+SRC_URI += "\</font>
<font color="#009900">+ file://netif_16.patch;patch=1;pnum=0 \</font>
<font color="#009900">+ file://SimpleName.diff;patch=1;pnum=0 \</font>
<font color="#009900">+ "</font>
<font color="#009900">+PR = "r1"</font>
<font color="#009900">+</font>
DEPENDS += "gtk+ gconf libxtst"
EXTRA_OECONF += "\
<font color="#0000FF">@@ -15,4 +20,3 @@ EXTRA_OECONF += "\</font>
--with-vm=java \
"
<font color="#FF6600">-</font>
</tt></pre>