Subject: Is cygffi.dll needed for SableVM JVM? [was: Re: Is there a Windows version of SableVM?]
From: "Grzegorz B. Prokopski" <[email-masked]>
To: [email-masked]
Cc: [email-masked], [email-masked]
Date: Thu, 16 Sep 2004 20:47:43 -0400

W liście z nie, 05-09-2004, godz. 22:18, Andy Madigan pisze: 
> The only free VM I've been able to find for Windows is gij (via the
> mingw version of gcj). I tried to build SableVM in cygwin, but while I
> was able to get it to recognize libpopt, the build failed because of
> (apparently)  missing file called fficonfig.h. As I understand it, the
> native libs for the Classpath won't build under cygwin, but I was
> hoping someone might know a way to get it to work, or perhaps tell me
> of a free Windows VM.

As I mentioned before, we had a version of SableVM that worked with
Cygwin.  Most (or all?) of the source changes needed to make it work
should be already included into the current official version.

The most tricky part (for me, at the time I didn't know much about
Cygwin) was getting a shared library of libffi.  SableVM currently
does not allow for static compilation, so we needed to compile
/bin/cygffi.dll ourselves.  Once that was done - the rest was easy.
This was acceptable as an experiment, but in the long run we'd like to
have a Cygwin package of SableVM, so we need a cleaner method. [*]

There's two possible solutions I can see:
1. include shared library of libffi into official cygwin gcc-java
(along with ffi headers)
2. make libsablevm link against statically compiled libffi.

I am not sure 2) is possible and I don't know how to do it.  SableVM
consists of 3 binary parts: /usr/bin/sablevm binary wrapper that loads
libsablevm which in turn loads via ltdl_open JNI libraries from
sablevm-classpath.  In such scenario, would it be possible for
libsablevm to link against static libffi?  How to accomplish that
in practice? (we use auto* and libtool in the build process)
Some good advice or RTFM URLs are welcome.

If 2) is not possible, would it be possible for gcc maintainer
to include shared version of libffi in gcc-java?

Cheers,

				Grzegorz B. Prokopski

PS: Please send replies to *both* mailing lists. Thank you.

[*] We have a machine that could serve as an autobuilder for
Cygwin packages, so once we make SableVM buildable and working
under Cygwin it should be possible to ensure every new version
still works.

-- 
Grzegorz B. Prokopski      <[email-masked]>
Debian GNU/Linux           http://www.debian.org
SableVM - LGPL'ed Java VM  http://www.sablevm.org
Why SableVM ?!?            http://devel.sablevm.org/wiki/Features

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/