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
