Re: GCJ Thought Balloon
>>>>> "PB" == Per Bothner <email@example.com> writes:
Me> I wonder if there would be any value to having some kind of way
Me> to -automatically- GCJ-compile Java packages at installation
Me> time, if the package is GCJ-compatible and if GCJ is installed.
PB> It should be the package builder's job to compile into a .so
PB> file. The package's configure script should have a --with-gcj
PB> option to enable/disable building a .so file; the default is
PB> either --without-gcj or it is autodetected.
Uh... with all due respect: hunh? I'm talking about Debian (.deb)
packages. Is that what you're talking about? Or are you talking about
tarballs with autoconf information?
PB> I think trying to compile at installation time is a bad idea.
Debian Emacs lisp packages are auto-compiled at install time for the
different Emacs implementations (XEmacs 20, 21, etc., Gnu Emacs 19,
20, 21, etc.). Admittedly, compiling to Emacs bytecode is somewhat
simpler and less time-consuming than compiling Java, but there is some
Other time-consuming stuff happens at install time for Debian
packages, like indexing for tex and man pages.
If I am not mistaken, it's possible to use GCJ to compile .class files
as well as raw .java files. So a package could ship with .class files
and, if GCJ is available, compile them into an .so.
The nice part about this is that there is one (1) version of a Java
package, which gets "adapted" to the Java environment of the local
machine at install time.
PB> For installation, I see two choices
PB> (1) The .so file is always installed, as is the .jat file.
PB> (2) The .so file is in a separate dependent package.
PB> I think (1) is simpler, and I suspect the size of a .so isn't
PB> enough to worry about.
For Freenet the compiled .so is about 3Mb, so this would actually be
quite enough to worry about on my side.