+- The Linux native version can also be built with the latest
+ prerelease of gcj 3.3. You should configure your compiler with:
+
+ ../gcc/configure \
+ --prefix=$PREFIX \
+ --enable-languages=c,c++,java \
+ --disable-nls \
+ --enable-libgcj \
+ --enable-threads=posix \
+ --enable-hash-synchronization \
+ --enable-static \
+ --disable-interpreter
+
+
+______________________________________________________________________________
+Native-Code "ant"
+
+** THIS DOESN'T WORK YET **
+
+Ant takes a long time to start up, mainly because it has to load a
+JVM. If you compile ant to native code using GCJ, it will load much
+more quickly. So far, this only works on Linux.
+
+ mkdir /tmp/ant
+ cd /tmp/ant
+ jar xvf ~/xwt/lib/ant.jar
+ for A in `find * -name \*.properties -or -name \*.txt -or -name \*.mf`
+ do gcj -c --resource $A $A -o $A.o
+ done
+ CLASSPATH= gcj --main=org.apache.tools.ant.Main \
+ `find . -name \*.class -or -name \*.o` -o ant
+ mv ant ~/xwt/ant
+
+
+______________________________________________________________________________
+inet_addr patch
+
+Index: java/net/natInetAddress.cc
+===================================================================
+RCS file: /cvs/gcc/gcc/libjava/java/net/natInetAddress.cc,v
+retrieving revision 1.18.18.1
+diff -u -r1.18.18.1 natInetAddress.cc
+--- java/net/natInetAddress.cc 4 Mar 2002 20:02:19 -0000 1.18.18.1
++++ java/net/natInetAddress.cc 27 May 2002 22:54:40 -0000
+@@ -9,6 +9,7 @@
+ details. */
+
+ #include <config.h>
++#include <platform.h>
+
+ #ifdef WIN32
+
+Index: include/win32.h
+===================================================================
+RCS file: /cvs/gcc/gcc/libjava/include/win32.h,v
+retrieving revision 1.3.8.5
+diff -u -r1.3.8.5 win32.h
+--- include/win32.h 24 Apr 2002 01:04:45 -0000 1.3.8.5
++++ include/win32.h 27 May 2002 22:54:40 -0000
+@@ -35,4 +35,8 @@
+ ARRAY and return the exact number of values stored. */
+ extern int backtrace (void **__array, int __size);
+
++// configure cannot correctly detect inet_addr due to Win32's
++// oddball header naming scheme
++#define HAVE_INET_ADDR
++
+ #endif /* __JV_WIN32_H__ */
+
+
+
+______________________________________________________________________________
+GC patch
+
+Index: win32_threads.c
+===================================================================
+RCS file: /cvs/gcc/gcc/boehm-gc/win32_threads.c,v
+retrieving revision 1.9.2.2
+diff -u -r1.9.2.2 win32_threads.c
+--- win32_threads.c 29 Jun 2002 17:29:51 -0000 1.9.2.2
++++ win32_threads.c 2 Jul 2002 18:10:02 -0000
+@@ -134,10 +134,7 @@
+ (LPCONTEXT)&thread_table[i].context))
+ ABORT("GetThreadContext failed");
+ # ifdef I386
+- if (thread_table[i].context.Esp >= (DWORD)thread_table[i].stack
+- || thread_table[i].context.Esp < (DWORD)bottom)
+- ABORT("Thread stack pointer out of range");
+- GC_push_one ((word) thread_table[i].context.Edi);
++ GC_push_one ((word) thread_table[i].context.Edi);
+ GC_push_one ((word) thread_table[i].context.Esi);
+ GC_push_one ((word) thread_table[i].context.Ebp);
+ GC_push_one ((word) thread_table[i].context.Ebx);
+