Author: mturk
Date: Sat Oct 29 15:19:18 2011
New Revision: 1194902

URL: http://svn.apache.org/viewvc?rev=1194902&view=rev
Log:
DAEMON-220, DAEMON-223 Cleanup configure system. Axe archaic JVM's and improove 
JVM detection

Modified:
    commons/proper/daemon/trunk/src/native/unix/Makedefs.in
    commons/proper/daemon/trunk/src/native/unix/configure.in
    commons/proper/daemon/trunk/src/native/unix/support/apjava.m4
    commons/proper/daemon/trunk/src/native/unix/support/apsupport.m4

Modified: commons/proper/daemon/trunk/src/native/unix/Makedefs.in
URL: 
http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/unix/Makedefs.in?rev=1194902&r1=1194901&r2=1194902&view=diff
==============================================================================
--- commons/proper/daemon/trunk/src/native/unix/Makedefs.in (original)
+++ commons/proper/daemon/trunk/src/native/unix/Makedefs.in Sat Oct 29 15:19:18 
2011
@@ -19,14 +19,11 @@
 # @version $Id$
 
 CC = @CC@
-JAVAC = @JAVAC@
-JAR = @JAR@
 CFLAGS = @CFLAGS@
 CPPFLAGS = @CPPFLAGS@
 INCLUDES = @INCLUDES@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
-JAVACFLAGS = @JAVACFLAGS@
 RANLIB = @RANLIB@
 LDCMD = @LDCMD@
 STRIP = @STRIP@

Modified: commons/proper/daemon/trunk/src/native/unix/configure.in
URL: 
http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/unix/configure.in?rev=1194902&r1=1194901&r2=1194902&view=diff
==============================================================================
--- commons/proper/daemon/trunk/src/native/unix/configure.in (original)
+++ commons/proper/daemon/trunk/src/native/unix/configure.in Sat Oct 29 
15:19:18 2011
@@ -80,13 +80,20 @@ dnl ------------------------------------
 dnl Check JAVA environment
 dnl -------------------------------------------------------------------------
 AP_MSG_HEADER([Java compilation tools])
-AP_JAVA()
-AP_SABLEVM()
-AP_KAFFE()
-AP_PROG_JAVAC()
-AP_PROG_JAR()
-if test "$supported_os" != "darwin"
+AP_FIND_JAVA()
+dnl MAC OS X does not used include but Headers
+if test -d $JAVA_HOME/Headers
 then
+  JAVA_INC=Headers
+else
+  JAVA_INC=include
+fi
+AP_FIND_JAVA_OS()
+if test -z "${JAVA_OS}"
+then
+  AC_MSG_RESULT([jni_md.h found in $JAVA_HOME/$JAVA_INC])
+  INCLUDES="$INCLUDES -I$JAVA_HOME/include -I$JAVA_HOME/$JAVA_INC"
+else
   INCLUDES="$INCLUDES -I$JAVA_HOME/include -I$JAVA_HOME/include/$supported_os"
 fi
 

Modified: commons/proper/daemon/trunk/src/native/unix/support/apjava.m4
URL: 
http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/unix/support/apjava.m4?rev=1194902&r1=1194901&r2=1194902&view=diff
==============================================================================
--- commons/proper/daemon/trunk/src/native/unix/support/apjava.m4 (original)
+++ commons/proper/daemon/trunk/src/native/unix/support/apjava.m4 Sat Oct 29 
15:19:18 2011
@@ -16,76 +16,12 @@ dnl limitations under the License.
 dnl
 
 dnl -------------------------------------------------------------------------
-dnl Author  Pier Fumagalli <mailto:pier.fumaga...@eng.sun.com>
+dnl Author  Pier Fumagalli
+dnl Author  Mladen Turk
 dnl Version $Id$
 dnl -------------------------------------------------------------------------
 
-AC_DEFUN([AP_PROG_JAVAC_WORKS],[
-  AC_CACHE_CHECK([wether the Java compiler ($JAVAC) 
works],ap_cv_prog_javac_works,[
-    echo "public class Test {}" > Test.java
-    $JAVAC $JAVACFLAGS Test.java > /dev/null 2>&1
-    if test $? -eq 0
-    then
-      rm -f Test.java Test.class
-      ap_cv_prog_javac_works=yes
-    else
-      rm -f Test.java Test.class
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([installation or configuration problem: javac cannot 
compile])
-    fi
-  ])
-])
-
-dnl Check for JAVA compilers.
-AC_DEFUN([AP_PROG_JAVAC],[
-  if test "$SABLEVM" != "NONE"
-  then
-    AC_PATH_PROG(JAVACSABLE,javac-sablevm,NONE,$JAVA_HOME/bin)
-  else
-    JAVACSABLE="NONE"
-  fi
-  if test "$JAVACSABLE" = "NONE"
-  then
-    XPATH="$JAVA_HOME/bin:$JAVA_HOME/Commands:$PATH"
-    AC_PATH_PROG(JAVAC,javac,NONE,$XPATH)
-  else
-    AC_PATH_PROG(JAVAC,javac-sablevm,NONE,$JAVA_HOME/bin)
-  fi
-  AC_MSG_RESULT([$JAVAC])
-  if test "$JAVAC" = "NONE"
-  then
-    AC_MSG_ERROR([javac not found])
-  fi
-  AP_PROG_JAVAC_WORKS()
-  AC_PROVIDE([$0])
-  AC_SUBST(JAVAC)
-  AC_SUBST(JAVACFLAGS)
-])
-
-dnl Check for jar archivers.
-AC_DEFUN([AP_PROG_JAR],[
-  if test "$SABLEVM" != "NONE"
-  then
-    AC_PATH_PROG(JARSABLE,jar-sablevm,NONE,$JAVA_HOME/bin)
-  else
-    JARSABLE="NONE"
-  fi
-  if test "$JARSABLE" = "NONE"
-  then
-    XPATH="$JAVA_HOME/bin:$JAVA_HOME/Commands:$PATH"
-    AC_PATH_PROG(JAR,jar,NONE,$XPATH)
-  else
-    AC_PATH_PROG(JAR,jar-sablevm,NONE,$JAVA_HOME/bin)
-  fi
-  if test "$JAR" = "NONE"
-  then
-    AC_MSG_ERROR([jar not found])
-  fi
-  AC_PROVIDE([$0])
-  AC_SUBST(JAR)
-])
-
-AC_DEFUN([AP_JAVA],[
+AC_DEFUN([AP_FIND_JAVA],[
   AC_ARG_WITH(java,[  --with-java=DIR         Specify the location of your JDK 
installation],[
     AC_MSG_CHECKING([JAVA_HOME])
     if test -d "$withval"
@@ -98,45 +34,100 @@ AC_DEFUN([AP_JAVA],[
     fi
     AC_SUBST(JAVA_HOME)
   ])
-  if test x"$JAVA_HOME" = x
-  then
-    AC_MSG_ERROR([Java Home not defined. Rerun with --with-java=[...] 
parameter])
-  fi
-])
-
-dnl check if the JVM in JAVA_HOME is sableVM
-dnl $JAVA_HOME/bin/sablevm and /opt/java/lib/sablevm/bin are tested.
-AC_DEFUN([AP_SABLEVM],[
-  if test x"$JAVA_HOME" != x
+  if test "x$JAVA_HOME" = x
   then
-    AC_PATH_PROG(SABLEVM,sablevm,NONE,$JAVA_HOME/bin)
-    if test "$SABLEVM" = "NONE"
+    AC_MSG_CHECKING([for JDK location])
+    # Oh well, nobody set JAVA_HOME, have to guess
+    # Check if we have java in the PATH.
+    java_prog="`which java 2>/dev/null || true`"
+    if test "x$java_prog" != x
     then
-      dnl java may be SableVM.
-      if $JAVA_HOME/bin/java -version 2> /dev/null | grep SableVM > /dev/null
+      java_bin="`dirname $java_prog`"
+      java_top="`dirname $java_bin`"
+      if test -d "$java_top/include"
       then
-        SABLEVM=$JAVA_HOME/bin/java
+        JAVA_HOME="$java_top"
+        AC_MSG_RESULT([${java_top}])
       fi
     fi
-    if test "$SABLEVM" != "NONE"
-    then
-      AC_MSG_RESULT([Using sableVM: $SABLEVM])
-      CFLAGS="$CFLAGS -DHAVE_SABLEVM"
-    fi
+  fi
+  if test "x$JAVA_HOME" = x
+  then
+    # Oh well, nobody set JAVA_HOME, have to guess
+    for java_prefix in /usr/local /usr/local/lib /usr /usr/lib /usr/lib/jvm 
/opt /usr/java /System/Library/Frameworks/JavaVM.framework/Versions/
+    do
+      for subversion in 1.9 1.8 1.7 1.6 1.5 1.4 1.3 1.2
+      do
+        for variant in IBMJava2- java java- jdk jdk-
+        do
+          for guess in $java_prefix/$variant$subversion*
+          do
+            if test -d "${guess}/bin" & test -d "${guess}/include"
+            then
+              JAVA_HOME="${guess}"
+              AC_MSG_RESULT([${guess}])
+              break
+            fi
+            if test -d "${guess}/Commands" & test -d "${guess}/Headers"
+            then
+              JAVA_HOME="$guess"
+              AC_MSG_RESULT([${guess}])
+              break
+            fi
+          done
+          if test -n "$JAVA_HOME"
+          then
+            break;
+          fi
+        done
+        if test -n "$JAVA_HOME"
+        then
+          break;
+        fi
+      done
+      if test -n "$JAVA_HOME"
+      then
+        break;
+      fi
+    done
+  fi  
+  if test x"$JAVA_HOME" = x
+  then
+    AC_MSG_ERROR([Java Home not defined. Rerun with --with-java=[...] 
parameter])
   fi
 ])
 
-dnl check if the JVM in JAVA_HOME is kaffe
-dnl $JAVA_HOME/bin/kaffe is tested.
-AC_DEFUN([AP_KAFFE],[
-  if test x"$JAVA_HOME" != x
-  then
-    AC_PATH_PROG(KAFFEVM,kaffe,NONE,$JAVA_HOME/bin)
-    if test "$KAFFEVM" != "NONE"
+AC_DEFUN([AP_FIND_JAVA_OS],[
+  tempval=""
+  JAVA_OS=""
+  AC_ARG_WITH(os-type,[  --with-os-type[=SUBDIR]   Location of JDK os-type 
subdirectory.],
+  [
+    tempval=$withval
+    if test ! -d "$JAVA_HOME/$tempval"
     then
-      AC_MSG_RESULT([Using kaffe: $KAFFEVM])
-      CFLAGS="$CFLAGS -DHAVE_KAFFEVM"
-      LDFLAGS="$LDFLAGS -Wl,-rpath $JAVA_HOME/jre/lib/$HOST_CPU -L 
$JAVA_HOME/jre/lib/$HOST_CPU -lkaffevm"
+      AC_MSG_ERROR(Not a directory: ${JAVA_HOME}/${tempval})
     fi
-  fi
+    JAVA_OS=$tempval
+  ],
+  [
+    AC_MSG_CHECKING(for JDK os include directory)
+    JAVA_OS=NONE
+    if test -f $JAVA_HOME/$JAVA_INC/jni_md.h
+    then
+      JAVA_OS=""
+    else
+      for f in $JAVA_HOME/$JAVA_INC/*/jni_md.h
+      do
+        if test -f $f; then
+            JAVA_OS=`dirname $f`
+            JAVA_OS=`basename $JAVA_OS`
+            echo " $JAVA_OS"
+        fi
+      done
+      if test "x$JAVA_OS" = "xNONE"; then
+        AC_MSG_RESULT(Cannot find jni_md.h in ${JAVA_HOME}/${OS})
+        AC_MSG_ERROR(You should retry --with-os-type=SUBDIR)
+      fi
+    fi
+  ])
 ])

Modified: commons/proper/daemon/trunk/src/native/unix/support/apsupport.m4
URL: 
http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/unix/support/apsupport.m4?rev=1194902&r1=1194901&r2=1194902&view=diff
==============================================================================
--- commons/proper/daemon/trunk/src/native/unix/support/apsupport.m4 (original)
+++ commons/proper/daemon/trunk/src/native/unix/support/apsupport.m4 Sat Oct 29 
15:19:18 2011
@@ -64,6 +64,7 @@ AC_DEFUN(AP_SUPPORTED_HOST,[
     CFLAGS="$CFLAGS -pthread -DOS_HPUX -DDSO_DLFCN"
     LDFLAGS="$LDFLAGS -pthread"
     LIBS="$LIBS -lpthread"
+    supported_os="hp-ux"
     ;;
   aix5*)
     CFLAGS="$CFLAGS -DOS_AIX -DDSO_DLFCN"
@@ -104,11 +105,9 @@ AC_DEFUN(AP_SUPPORTED_HOST,[
     HOST_CPU=alpha;;
   hppa2.0w)
     CFLAGS="$CFLAGS -DCPU=\\\"PA_RISC2.0W\\\""
-    supported_os="hp-ux"
     HOST_CPU=PA_RISC2.0W;;
   hppa2.0)
     CFLAGS="$CFLAGS -DCPU=\\\"PA_RISC2.0\\\""
-    supported_os="hp-ux"
     HOST_CPU=PA_RISC2.0;;
   mipsel)
     CFLAGS="$CFLAGS -DCPU=\\\"mipsel\\\""
@@ -116,7 +115,6 @@ AC_DEFUN(AP_SUPPORTED_HOST,[
     HOST_CPU=mipsel;;
   ia64)
     CFLAGS="$CFLAGS -DCPU=\\\"ia64\\\""
-    supported_os="ia64"
     HOST_CPU=ia64;;
   s390)
     CFLAGS="$CFLAGS -DCPU=\\\"s390\\\""


Reply via email to