This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: jar installation standards


Per Bothner wrote:

> I think the way we install jar files should be fixed for gcc 3.1.
> The first problem is the installation directory.  We install directly
> into $prefix/share.  The proposed Debian Java policy specifies
> $prefix/share/java.  I tend to think that is better.  (I think
> using $prefix/share is a holdover from when we installed .class files
> rather than .jar files.)
>
> Second, I'd like us to define some equivalent to Sun's "extensions"
> mechanism.  By this I mean some way that one can install a .jar, and
> have that .jar be automatically be part of the default path.  


I agree that this would be good. It would make it simpler for projects 
like classpathx to install extensions to gcj, without having to worry 
about adding crap to the classpath, etc.

> There are two approaches that appeal to me:
>
> (1) Just add every .jar in $prefix/share/java to the implied
> (boot-)classpath.  I.e. we treat the directory like Sun treats
> its extensions directory.  


I think this is the best approach, due to its simplicity and 
compatibility with existing behaviour of the JDK.  .jars do not really 
support versioning, and given the binary compatibility reqirements, 
typically do not suffer from the same versioning problems as shared 
libraries. There is a special case where, if a JIT compiler wanted to 
inline methods from libgcj, we'd have to ensure that the installed 
libgcj.jar matched libgcj.so perfectly. However, this complicates things 
a lot and perhaps we'd just be better off making sure the JITs don't do 
that.

If versioning of jar files is really required, I think it would be best 
handled with manifest attributes etc rather than symlink/filename 
conventions.

regards

Bryce.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]