Re: SableVM SDK - General Info and Gentoo Update
"Grzegorz B. Prokopski" <[email protected]> Thu, 02 Jun 2005 02:11:33 -0400
| Newsgroups | gmane.comp.java.vm.sablevm.devel |
|---|---|
| Organization | Debian http://www.debian.org - The Free Operating System |
| Message-ID | <[email protected]> |
On Tue, 2005-31-05 at 13:23 -0400, David Bélanger wrote: > The thing is that on a Gentoo system, if IBM SDK (should be > same for Sun or other) is installed and selected, the gjdoc/cp-tools will use > the IBM SDK and not jikes since JAVAC will be set by Gentoo to the IBM > SDK javac. If JAVAC unset should work as it should autodetect and find > jikes first (need to test it). I am setting it to the wrapper script > which, at least in the case of jikes, works even if the system installed > jikes is used. I think we should not rely on JAVAC. What we're looking for is *jikes* binary, that will be used by our wrapper script (which gives it *our* bootclasspath) after installation. So IMNSHO unsetting JAVAC and JAVA is something we're perfectly right to do. After all we don't want SableVM SDK installation to be run-time dependant on IBM or other SDK, right? So in the top-level configure we're looking for a system-wide installations of jikes and fastjar (libffi/libpopt are handled automagically). A little problem we might hit sometimes is that: a) if the external jikes/fastjar is used, its location is the same during the build of SableVM SDK and after installation. b) if the internal jikes/fastjar is used, its location is different during the build of SableVM SDK than after installation. The solution, as I see it, is to *always* use the bin/ scripts during the build. These scripts in bin/ will always 'know' where to find the right binary (or how to run SableVM *before* it's even installed, which is kind of tricky). Then, if a sub-package of SableVM SDK uses jikes/fastjar then we pass it the location where the tool *will* be available *after* installation via --with-jikes/fastjar=... option. This is what is done for sablevm subpackage that needs jikes and fastjar locations for wrapper scripts. See the top-level configure.in. The above approach means we will sometimes need to slightly modify upstream way of handing --with-jikes/fastjar option, and way of looking for javac/java/fastjar etc. These changes are usually very small, and as we always import new upstreams into 'vendor', then merge changes into 'sablevm-sdk', we should not have too big troubles maintaining them. Actually, I believe that in the case of Gentoo simply unsetting JAVA/JAVAC in the top-level Makefile during all 3 configure phases (early, main, extra) will solve the problem, because we already set PATH to include bin/ as the first element, and bin/ contains java, javac, fastjar etc... HTH, Grzegorz B. Prokopski -- Grzegorz B. Prokopski <[email protected]> SableVM - Free, LGPL'ed Java VM http://sablevm.org Why SableVM ?!? http://sablevm.org/wiki/Features Debian GNU/Linux - the Free OS http://www.debian.org