On Wed, 2007-04-11 at 22:19 +0100, Pedro Alves wrote: > I guess with cegcc would be easier to make it work, since you can take a > look at what was done on the Voxware's toolchain. Craig at the time had > some problems with generating dlls, which are fixed now, so he sticked > with a static libgcj.a (is that the lib's name?). Best would be to have it > working with mingw32ce. gcj works with MinGW, so porting it to mingw32ce > should be feasible.
The gcj sources aren't in our tree; I've added them locally and gave it a try. Summary : it doesn't work out of the box, I'm not at the end of it yet. Building the compiler works, but then it fails to run : dannypc: {50} arm-wince-cegcc-gcj arm-wince-cegcc-gcj: libgcj.spec: No such file or directory In the second build attempt, I added a flag to build libgcj. But that fails on libffi which isn't ported to arm-wince-cegcc. Fixing the configure.ac to get beyond this is easy, but then the build fails on errors in some assembler file : /home/danny/src/cegcc/svn.sf.net/cegcc/trunk/cegcc/src/gcc/libffi/src/arm/sysv.S: Assembler messages: /home/danny/src/cegcc/svn.sf.net/cegcc/trunk/cegcc/src/gcc/libffi/src/arm/sysv.S:128: Warning: .type pseudo-op used outside of .def/.endef ignored. /home/danny/src/cegcc/svn.sf.net/cegcc/trunk/cegcc/src/gcc/libffi/src/arm/sysv.S:128: Error: junk at end of line, first unrecognized character is `f' /home/danny/src/cegcc/svn.sf.net/cegcc/trunk/cegcc/src/gcc/libffi/src/arm/sysv.S:208: Warning: .size pseudo-op used outside of .def/.endef ignored. /home/danny/src/cegcc/svn.sf.net/cegcc/trunk/cegcc/src/gcc/libffi/src/arm/sysv.S:208: Error: junk at end of line, first unrecognized character is `f' I don't know how to handle this, but copying the sysv.S file from the gcc-3.3 in the voxware files gets me further. The next step is a test in src/gcc/boehm-gc/include/private/gcconfig.h : # if defined(GC_WIN32_THREADS) && !defined(MSWIN32) && ! defined(CYGWIN32) /* --> inconsistent configuration */ # endif As you can see I've commented out the middle line, it was causing a syntax error. In the same file, NOSYS was being defined, causing a function to be defined twice. Worked around this : /* Determine the machine type: */ # if defined(__arm__) || defined(__thumb__) # define ARM32 # if defined(__CEGCC__) || defined(__MINGW32__) # define mach_type_known # elif !defined(LINUX) && !defined(NETBSD) # define NOSYS # define mach_type_known # endif # endif Now the build fails so : Making all in libltdl /bin/sh: line 11: cd: libltdl: No such file or directory make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/danny/src/cegcc/svn.sf.net/cegcc/trunk/cegcc/src/build-cegcc/gcj/arm-wince-cegcc/libjava' Signing off for today. Danny -- Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________ Cegcc-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/cegcc-devel