This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

libgcj.dll on MinGW


All --
I have succeeded in getting gcj 4.1 (from May 15, 2005 source which
seems to be about the last time GCC built for MinGW) to produce a
shared libgcj-6.dll on MinGW.  This is still a work in progress.  In
particular, I hacked up several things in the generated Makefile that
I need to figure out how to backport to automake/autoconf.  I've also
got to play around a little more with dlltool and my script for
generating a def file.

Now this doesn't necessarily mean that it works right, just that I can
get a hacked up GCC source drop to build it.  In particular, what I
have now has some problem in the import library that gcj uses outside
of its build tree that seems to be excluding an underscore from
imported names (it seems like every tool for Windows loves to randomly
add or remove underscores... it is truly maddening).

In the installation, some things are working and others aren't.  I
have used gij linked against the dll to run trivial programs.  It also
seems that jv-scan works.  The other EXE's in the bin directory throw
access-violations.

As an aside, the dll has gained substantial weight since the 3.3 days.
 Unstripped I show about 22MB.  Stripped drops it down to 13MB.  It
compresses pretty nicely, though.

You can download my successful build from
http://www.vetrics.com/temp/gcc_native.tbz2
These binaries include my patches for enabling return type mangling
(for Java 5 compatibility) along with a few miscellaneous patches
needed to get the source to build for MinGW.

I'll post more once I get the build ironed out a bit so that it is
generally repeatable.  I figure that having a straight-forward,
controlled way to build the dll for MinGW is the first step to
actually diagnosing and fixing some of the myriad of problems that
crop up from the way Windows DLLs are different form Unix shared
libraries.

TJ


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]