[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GCJ native compilation



Hi,

* Michael Koch [2006-02-09 00:02:39+0100]
> On Wed, Feb 08, 2006 at 11:22:21PM +0200, Recai Oktaş wrote:
> > [Please CC me, since I'm not on the list.]
[...]
> > - Is there a policy about naming the CNI ((Compiled Native Interface)
> >   Debian packages.  I couldn't find any clear reference on Debian Java
> >   Policy.
> 
> Are you talking about CNI libraries or native Java libraries?  I guess mean
> the later. That is not included in the policy yet. We are working
> together with other distributions to find a common way in doing this.

Yes, I mean the later.  Then for the moment, I think including the lib*.so
files in libpackage-java deb should be a reasonable choice (though it makes
the package arch dependent)?  Otherwise I have to invent a name.

> > - Is /usr/lib the right directory for the shared /libpackage*.so files?  Or
> >   should I use something like /usr/lib/cni?
> 
> There are two ways to compile java to native, with the C++ ABI or with
> the BC ABI. The later is the only one that makes sense for us.

Hmm, didn't know this ABI issue, thanks for the info.

> In the eclipse package we currently use /usr/lib/gcj-4.0/ for the
> lib*.so files and according the classmap file in
> /usr/share/gcj-4.0/classmap.d/. The master classmap file is
> /var/lib/gcj-4.0/classmap.db. These are the same paths Fedora and Ubuntu
> use too. Even Gentoo and Novell/SuSE will use them in the future.

Then /usr/share/gcj-${version}/classmap.d will be a policy mandated place,
right?

> > - As compared to compiling the .java sources to the native lib*.so, would
> >   there be a performance decrease if we just compile the .jar file (that
> >   is, .class files)?  I was unable to find was unable to find any reference
> >   in the gcj documentation.
> 
> The recommended way by upstream is to compile the jar files to native
> usig the BC ABI.

After the info below I've found the following document which clearly
explains the procedure:

    http://gcc.gnu.org/wiki/How%20to%20BC%20compile%20with%20GCJ

> I'm currently writing a debhelper script that handles the above
> transparently. Then the debian/rules script just needs to make sure the
> script gets called and all is done magically.

Is it ok to use the gcj-dbtool stuff in ecj-bootstrap-gcj package for the
moment?  It seems to suit my needs.

> Cheers,
> Michael

Thank you very much for all the info you have given.

Cheers,

-- 
roktas



Reply to: