--- src/configure.orig	2012-03-03 10:16:34.000000000 -0500
+++ src/configure	2012-03-03 10:16:40.000000000 -0500
@@ -3267,16 +3267,8 @@
           # JavaVMs. Check for the newest version set the JAVA_HOME
           # variable.
           if test -d "/System/Library/Frameworks/JavaVM.framework"; then
-            # Sneak the -framework flag into mkoctfile via LFLAGS
-            LFLAGS="$LFLAGS -framework JavaVM"
             JAVA_TEMP="/System/Library/Frameworks/JavaVM.framework"
             JAVA_HOME="${JAVA_TEMP}/Home"
-            JAVA_ARCH="${JAVA_TEMP}/Libraries/libjvm_compat.dylib"
-            # According to:
-            #   http://developer.apple.com/unix/crossplatform.html
-            # you need to explicitely set the include path
-            JAVA_INCS="-I${JAVA_HOME}/include"
-            HAVE_JAVA=yes
           # This is the Debian default path
           elif test -d "/usr/lib/jvm/default-java"; then
             JAVA_HOME=/usr/lib/jvm/default-java
@@ -3301,10 +3293,21 @@
             JAVA_ARCH="solaris"
           elif test -d "${JAVA_HOME}/jre/lib/solarisv9"; then
             JAVA_ARCH="solarisv9"
+          elif test -d "/System/Library/Frameworks/JavaVM.framework"; then
+            if test -e "${JAVA_HOME}/../Libraries/libjvm_compat.dylib"; then
+              JAVA_ARCH="${JAVA_HOME}/../Libraries/libjvm_compat.dylib"
+            elif test -e "${JAVA_HOME}/../Libraries/libverify.dylib"; then
+              JAVA_ARCH="${JAVA_HOME}/../Libraries/libverify.dylib"
+            fi
           fi
           if test -n "$JAVA_ARCH"; then
             HAVE_JAVA=yes
             case "$canonical_host_type" in
+              *-apple*)
+                # Sneak the -framework flag into mkoctfile via LFLAGS
+                LFLAGS="$LFLAGS -framework JavaVM"
+                JAVA_INCS="-I${JAVA_HOME}/include"
+                ;;
               *-mingw* | *-cygwin*)
                 JAVA_LIBS=-ladvapi32
                 JAVA_INCS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/win32"
