Justin Erenkrantz wrote:
> --On Saturday, April 17, 2004 9:45 PM -0500 dlr@tigris.org wrote:
>
>> Author: dlr
>> Date: Sat Apr 17 21:44:55 2004
>> New Revision: 9415
>>
>> Modified:
>> trunk/build/ac-macros/java.m4
>> trunk/subversion/bindings/java/README
>> Log:
>> Improve location of the jikes Java compiler by allowing for a
>> --with-jikes=[PATH|yes|no] argument to configure.
>
>
> Heh. This borks the 'javahl' build on Mac OS X for me. Here I was
> thinking I never finished a corner case, but then I hunted through
> java.m4 and saw this jikes stuff going, 'Gee, I didn't write this!' -
> sure enough adding
> '--without-jikes' fixes it for me.
>
> In short, jikes isn't smart enough to find the classes by itself, and
> the JAVA_CLASSPATH detection code isn't clever enough on Mac OS X. I
> don't know how to programmatically find the classes.jar that jikes need
> (it's in
> '/System/Library/Frameworks/JavaVM.framework/Classes/classes.jar' here
> on my box). The default javac doesn't need to be told the classes.jar
> path, so that's better, I think.
>
> So, I think we should flip the default to not using jikes - at least on
> Mac OS X.
>
> What do you think? -- justin
If ya got jikes, prefer it. Last I checked it was an order of magnitude
faster than Sun's javac, and very reliable. I have heard that Apple's javac
is somewhat faster than Sun's. In any case, how about something along the
lines of the attached patch for correctly adjusting the JAVA_CLASSPATH?
Untested, as I haven't gotten a build going on moof yet (hit too many snags
last night due to unfamiliarity with OS X and moof).
- Dan
Index: java.m4
===================================================================
--- java.m4 (revision 9561)
+++ java.m4 (working copy)
@@ -63,6 +63,9 @@
os_arch="`uname`"
if test "$os_arch" = "Darwin" -a "$JDK" = "/usr" -a -d "/Library/Java/Home"; then
JDK="/Library/Java/Home"
+ JRE_LIB_DIR="/System/Library/Frameworks/JavaVM.framework/Classes"
+ else
+ JRE_LIB_DIR="$JDK/jre/lib"
fi
if test -f "$JDK/include/jni.h"; then
dnl This *must* be fully expanded, or we'll have problems later in find.
@@ -106,8 +109,8 @@
if test -z "$jikes_found" -a -x "$jikes"; then
jikes_found="yes"
JAVAC="$jikes"
- JAVA_CLASSPATH="$JDK/jre/lib"
- for jar in $JDK/jre/lib/*.jar; do
+ JAVA_CLASSPATH="$JRE_LIB_DIR"
+ for jar in $JRE_LIB_DIR/*.jar; do
JAVA_CLASSPATH="$JAVA_CLASSPATH:$jar"
done
fi
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Apr 29 18:37:04 2004