Why is jni.j installed in ${prefix}/include?
Per Bothner
per@bothner.com
Sat Jan 12 16:45:00 GMT 2002
Martin Kahlert wrote:
> Hi, this is a complaint.
(Visions of John Cleese in a pet shop.)
> So: Why isn't jni.h installed into
> ${prefix}/lib/gcc-lib/i686-pc-linux-gnu/3.1/include?
Well, traditionally run-time libraries have not installed
header files there, because that is the compiler's directory.
In principle, the Java run-tme systems can't install there,
because they don't know/have the gcc version number. (Yes, they
can use various ugly tricks to figure it out, but this separation
is traditional.)
I suggest not using the default --prefix when building gcc and its
libraries. The disadvnatage of setting to --prefix to some
private directory is that you have to set $PATH and $LD_LIBRARY_PATH,
but that is more than made up by being able to more safely switch
compilers (and easily delete old installations).
> Since it changes that often it would make sense to treat it as
> a very compiler dependent file which belong to exactly one version.
Well, it shouldn't change so often. in fact, it is supposed to be
Java-implementation-dependent. I.e. you should be able to use the
same version of jni.h for code running with GCJ as for code running
under JDK. To the extent you can't do that, it's a bug. Please
submit patches ...
--
--Per Bothner
per@bothner.com http://www.bothner.com/per/
More information about the Java
mailing list