Notes on attempts to compile AppleCommander natively... ultimately should be directions! Issues: 1) Unable to handle graphics (images) in native mode. Need to patch code in compile process for this. ********************* ** LINUX ** ********************* See build/build-applecommander-linux-gtk for the script which builds an executable of AppleCommander. The build/build-swt-linux-gtk script builds the SWT swt.so file. ********************** ** WINDOWS ** ********************** Using MinGW, am able to compile AppleCommander tests. The date issue is known, and there is a suggested work-around posted here: http://gcc.gnu.org/ml/java/2002-04/msg00180.html Basically, force a reference to the classes which cause the error - the problem lies in classes loaded by reflection, so this forces these classes to be compiled in. The suggested prelude is: // static references to these classes ensure that the linker will include them private static Class c1 = gnu.java.locale.Calendar.class; private static Class c2 = java.util.GregorianCalendar.class; private static Class c3 = gnu.gcj.convert.Input_ASCII.class; private static Class c4 = gnu.gcj.convert.Input_UTF8.class; private static Class c5 = gnu.gcj.convert.Input_8859_1.class; private static Class c6 = gnu.java.locale.LocaleInformation.class; private static Class c7 = gnu.gcj.convert.Output_ASCII.class; Presumably, this is just needed in one class - probably the class which contains the main method. MinGW seems to run (at least in text mode) faster than Cygwin. It also appears to be related to date type stuff (just an observation, no real meat here). Command sequence is similar to this. 1) Compile storage package: cd <...>\storage gcj --classpath=AppleCommander-1.1.1b.jar -c *.java Unable to build a *.so file as on Linux with MinGW - but Cygwin does work. 2) Compile DoIt in test: cd ..\test gcj --classpath=AppleCommander-1.1.1b.jar -c DoIt.java gcj --main=com.webcodepro.applecommander.test.DoIt -o DoIt DoIt.o ..\storage\*.o strip -x DoIt.exe The executable is 2.7MB and runs to completion! 3) If all of AppleCommander is built, the resulting executable cannot use Runtime.loadLibrary because that method is not implemented. Either need to wait for GCJ to be updated or need to compile the native code into executable (and this may or may not work).