[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Busted javahl build on Mac OS X was Re: svn commit: r9415 - in trunk: build/ac-macros subversion/bindings/java

From: Daniel L. Rall <dlr_at_finemaltcoding.com>
Date: 2004-04-29 18:36:49 CEST

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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.