Re: [PATCH] Jikes bootclasspath
Len Trigg [EMAIL PROTECTED] writes: Sending this to the main jde list for more discussion. Background: I wrote this patch so that the system classes (rt.jar) would be added to jikes command line using -bootclasspath rather than -classpath. This was to prevent a conflict in versions between any inherited BOOTCLASSPATH environment variable (see jikes manpage), and the rt.jar located by jde (which can depend on the jde-jdk variable for targetting different JVM versions). (I encountered this problem which is why I wrote the patch). The question is, what is the best way to add the system classes when using jikes. Javier indicates that using -bootclasspath may interfere with people using it for other purposes (but at this point I'm not sure how) Mainly I don't like messing around with users settings. The particular case I was referring was if the rt.jar gets appended before any of the user customized bootclasspath. The classes could get compiled against the wrong class files, causing problems at runtime. Your patch does not have this problem since rt.jar gets appended to the bootclasspath. Javier S. Lopez wrote: Could you send me the patch? The attachment you sent seems to be empty. Sure, here it is, inlined: Thus jikes gets the non-overridden definition of jde-compile-classpath-arg, and the inferred system classes are added using -bootclasspath I took a look at Ant and I was mistaken about its behavior. Ant does not add anything at all to the classpath or boot class path. Perhaps we should do the same. As in, using the jikes compiler doesn't require either classpath/bootclasspath parameters in the build.xml or environment variables to be set in order to work? Then they must be adding an implicit rt.jar to jikes somehow when they invoke it (otherwise jikes wouldn't be able to compile it). Originally I thought that they were adding rt.jar either to the classpath or bootclasspath. This is not the case though, users need to add rt.jar to the claspath or bootclasspth in build.xml A good solution for this is something along this lines: jde-compile-option-jikes-classpath Location to add system classes: (*) bootclasspath ( ) classpath ( ) none Classes: INS DEL: /jre/lib/rt.jar INS This will allow users to choose the location or disable the functionality altogether. In addition it will allows users to add other jar files like: jce.jar and jsse.jar Javier Cheers, Len.
Re: [PATCH] Jikes bootclasspath
[EMAIL PROTECTED] writes: Len Trigg [EMAIL PROTECTED] writes: Sending this to the main jde list for more discussion. Background: I wrote this patch so that the system classes (rt.jar) would be added to jikes command line using -bootclasspath rather than -classpath. This was to prevent a conflict in versions between any inherited BOOTCLASSPATH environment variable (see jikes manpage), and the rt.jar located by jde (which can depend on the jde-jdk variable for targetting different JVM versions). (I encountered this problem which is why I wrote the patch). The question is, what is the best way to add the system classes when using jikes. Javier indicates that using -bootclasspath may interfere with people using it for other purposes (but at this point I'm not sure how) Mainly I don't like messing around with users settings. The particular case I was referring was if the rt.jar gets appended before any of the user customized bootclasspath. The classes could get compiled against the wrong class files, causing problems at runtime. Your patch does not have this problem since rt.jar gets appended to the bootclasspath. Javier S. Lopez wrote: Could you send me the patch? The attachment you sent seems to be empty. Sure, here it is, inlined: Thus jikes gets the non-overridden definition of jde-compile-classpath-arg, and the inferred system classes are added using -bootclasspath I took a look at Ant and I was mistaken about its behavior. Ant does not add anything at all to the classpath or boot class path. Perhaps we should do the same. As in, using the jikes compiler doesn't require either classpath/bootclasspath parameters in the build.xml or environment variables to be set in order to work? Then they must be adding an implicit rt.jar to jikes somehow when they invoke it (otherwise jikes wouldn't be able to compile it). Originally I thought that they were adding rt.jar either to the classpath or bootclasspath. This is not the case though, users need to add rt.jar to the claspath or bootclasspth in build.xml A good solution for this is something along this lines: jde-compile-option-jikes-classpath Location to add system classes: (*) bootclasspath ( ) classpath ( ) none Classes: INS DEL: /jre/lib/rt.jar INS I don't see the need for the () none option as you can simply delete all entries. I suggest the following: jde-jikes-system-classpath Compiler option used to specify system classpath: (*) -bootclasspath ( ) -classpath System classpath: INS DEL: /jre/lib/rt.jar INS Paul This will allow users to choose the location or disable the functionality altogether. In addition it will allows users to add other jar files like: jce.jar and jsse.jar Javier Cheers, Len.
Re: [PATCH] Jikes bootclasspath
Javier S. Lopez wrote: A good solution for this is something along this lines: jde-compile-option-jikes-classpath Location to add system classes: (*) bootclasspath ( ) classpath ( ) none Classes: INS DEL: /jre/lib/rt.jar INS I still don't see why adding to the classpath rather than bootclasspath need ever be an option. When would anyone need to do that? This will allow users to choose the location or disable the functionality altogether. In addition it will allows users to add other jar files like: jce.jar and jsse.jar This sounds good. Cheers, Len.