]> granicus.if.org Git - php/commitdiff
Eliminate java.library ini option in favor of rpath
authorSam Ruby <rubys@php.net>
Mon, 13 Mar 2000 01:11:36 +0000 (01:11 +0000)
committerSam Ruby <rubys@php.net>
Mon, 13 Mar 2000 01:11:36 +0000 (01:11 +0000)
ext/java/Makefile.in
ext/java/config.m4
ext/java/java.c
ext/rpc/Makefile.in
ext/rpc/java/Makefile.in
ext/rpc/java/config.m4
ext/rpc/java/java.c

index 5af7c776c7d2db964b11e476a0e693806521da2c..f00388ced2e5a802a68f1aa53de4f4ce9343c8b0 100644 (file)
@@ -1,13 +1,16 @@
 
-DEPTH     = ../..
+DEPTH    = ../..
 topsrcdir = @topsrcdir@
-srcdir    = @srcdir@
-VPATH     = @srcdir@
+srcdir   = @srcdir@
+VPATH    = @srcdir@
 
 LTLIBRARY_SHARED_NAME  = libphp_java.la
-LTLIBRARY_SOURCES = java.c
+LTLIBRARY_SOURCES      = java.c
 LTLIBRARY_DEPENDENCIES = php_java.jar
 
+LTLIBRARY_LDFLAGS      = $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS)
+LTLIBRARY_SHARED_LIBADD = $(LTLIBRARY_DEPENDENCIES) $(EXTRA_LIBS)
+
 EXTRA_CFLAGS   = $(JAVA_CFLAGS)
 EXTRA_INCLUDES = $(JAVA_INCLUDE)
 
index 933e2865577889869ee5d951ea19179dbd55f541..cf07914142b79d98b1985b4bca58148f46c6e4eb 100644 (file)
@@ -18,54 +18,65 @@ AC_ARG_WITH(java,
     fi
 
     if test "$withval" = "yes"; then
-      if test -d /usr/local/lib/kaffe; then
-       JAVA_CFLAGS="-DKAFFE"
-       JAVA_INCLUDE=-I/usr/local/include/kaffe
-       JAVA_CLASSPATH=/usr/local/share/kaffe/Klasses.jar
-      elif test -d /usr/lib/kaffe; then
-       JAVA_CFLAGS="-DKAFFE"
-       JAVA_INCLUDE=-I/usr/include/kaffe
-       JAVA_CLASSPATH=/usr/share/kaffe/Klasses.jar
-      else
-       AC_MSG_RESULT(no)
-       AC_MSG_ERROR(unable to find Java VM libraries)
-      fi
+      withval=`cd \`which javac\`/../..;pwd`
+    fi
+
+    if test -d $withval/lib/kaffe; then
+      AC_ADD_LIBPATH($withval/lib/kaffe)
+
+      JAVA_CFLAGS="-DKAFFE"
+      JAVA_INCLUDE=-I$withval/include/kaffe
+      JAVA_CLASSPATH=$withval/share/kaffe/Klasses.jar
+
+      test -f $withval/lib/libkaffevm.so && AC_ADD_LIBPATH($withval/lib)
+      AC_ADD_LIBRARY(kaffevm)
 
       # accomodate old versions of kaffe which don't support jar
       if kaffe -version 2>&1 | grep 1.0b > /dev/null; then
-        JAVA_JAR='zip -q0'
+       JAVA_JAR='zip -q0'
       fi
 
+    elif test -f $withval/lib/libjava.so; then
+      AC_ADD_LIBRARY_WITH_PATH(java, $withval/lib)
+      JAVA_INCLUDE="-I$withval/include"
+      test -f $withval/lib/classes.zip && JAVA_CFLAGS="-DJNI_11"
+      test -f $withval/lib/jvm.jar     && JAVA_CFLAGS="-DJNI_12"
+      test -f $withval/lib/classes.zip && JAVA_CLASSPATH="$withval/lib/classes.zip"
+      test -f $withval/lib/jvm.jar     && JAVA_CLASSPATH="$withval/lib/jvm.jar"
+      for i in $JAVA_INCLUDE/*; do
+       test -f $i/jni_md.h && JAVA_INCLUDE="$JAVA_INCLUDE $i"
+      done
+
     else
-      if test -f $withval/lib/libjava.so; then
-       JAVA_INCLUDE="-I$withval/include"
-       test -f $withval/lib/classes.zip && JAVA_CFLAGS="-DJNI_11"
-       test -f $withval/lib/jvm.jar     && JAVA_CFLAGS="-DJNI_12"
-       test -f $withval/lib/classes.zip && JAVA_CLASSPATH="$withval/lib/classes.zip"
-       test -f $withval/lib/jvm.jar     && JAVA_CLASSPATH="$withval/lib/jvm.jar"
-       for i in $JAVA_INCLUDE/*; do
-         test -f $i/jni_md.h    && JAVA_INCLUDE="$JAVA_INCLUDE $i"
-       done
-      else
-       for i in `find $withval -type d`; do
-         test -f $i/jni.h       && JAVA_INCLUDE="-I$i"
-         test -f $i/jni_md.h    && JAVA_INCLUDE="$JAVA_INCLUDE -I$i"
-         test -f $i/classes.zip && JAVA_CFLAGS="-DJNI_11"
-         test -f $i/jvm.jar     && JAVA_CFLAGS="-DJNI_12"
-         test -f $i/classes.zip && JAVA_CLASSPATH="$i/classes.zip"
-         test -f $i/jvm.jar     && JAVA_CLASSPATH="$i/jvm.jar"
-       done
-       if test -z "$JAVA_INCLUDE"; then
-         AC_MSG_RESULT(no)
-         AC_MSG_ERROR(unable to find Java VM libraries)
+      for i in `find $withval -type d`; do
+       test -f $i/jni.h        && JAVA_INCLUDE="-I$i"
+       test -f $i/jni_md.h     && JAVA_INCLUDE="$JAVA_INCLUDE -I$i"
+       test -f $i/classes.zip  && JAVA_CFLAGS="-DJNI_11"
+       test -f $i/jvm.jar      && JAVA_CFLAGS="-DJNI_12"
+       test -f $i/rt.jar       && JAVA_CFLAGS="-DJNI_12"
+       test -f $i/classes.zip  && JAVA_CLASSPATH="$i/classes.zip"
+       test -f $i/jvm.jar      && JAVA_CLASSPATH="$i/jvm.jar"
+       test -f $i/rt.jar       && JAVA_CLASSPATH="$i/rt.jar"
+       if test -f $i/libjava.so; then 
+         AC_ADD_LIBPATH($i)
+         test -d $i/classic && AC_ADD_LIBPATH($i/classic)
+         test -d $i/green_threads && AC_ADD_LIBPATH($i/green_threads)
        fi
+      done
+      if test -z "$JAVA_INCLUDE"; then
+       AC_MSG_RESULT(no)
+       AC_MSG_ERROR(unable to find Java VM libraries)
       fi
+      AC_ADD_LIBRARY(java)
     fi
 
     AC_DEFINE(HAVE_JAVA,1,[ ])
     if test "$PHP_SAPI" != "servlet"; then
       PHP_EXTENSION(java, shared)
     fi
+
+    INSTALL_IT="$INSTALL_IT; \$(INSTALL) -m 0755 \$(srcdir)/ext/java/php_java.jar \$(libdir)"
+
     AC_MSG_RESULT(yes)
   else
     AC_MSG_RESULT(no)
index f1f5cb17d7f5d1c8aa4181bdb9257f90505461c8..286783c6376b3f9b7ab2c92a4921c8818d7e1bea 100644 (file)
@@ -64,7 +64,6 @@ static void *javadl = 0;
 
 static int le_jobject = 0;
 
-static char *javalib   = 0;
 static char *classpath = 0;
 static char *libpath   = 0;
 static char *javahome  = 0;
@@ -88,8 +87,6 @@ PHP_INI_BEGIN()
     NULL, PHP_INI_ALL, OnIniUpdate, &classpath)
   PHP_INI_ENTRY1("java.home",
     NULL, PHP_INI_ALL, OnIniUpdate, &javahome)
-  PHP_INI_ENTRY1("java.library",
-    NULL, PHP_INI_ALL, OnIniUpdate, &javalib)
   PHP_INI_ENTRY1("java.library.path",
     NULL, PHP_INI_ALL, OnIniUpdate, &libpath)
 PHP_INI_END()
@@ -150,13 +147,6 @@ static int jvm_create() {
 
 #ifndef PHP_WIN32
   if (!libpath)   libpath   = getenv("LD_LIBRARY_PATH");
-  if (javalib) {
-    javadl = dlopen(javalib, RTLD_GLOBAL | RTLD_LAZY);
-    if (!javadl) {
-      php_error(E_ERROR, "Unable to create Java Virtual Machine");
-      return -1;
-    }
-  }
 #endif
 
 #ifdef JNI_12
index 5af7c776c7d2db964b11e476a0e693806521da2c..f00388ced2e5a802a68f1aa53de4f4ce9343c8b0 100644 (file)
@@ -1,13 +1,16 @@
 
-DEPTH     = ../..
+DEPTH    = ../..
 topsrcdir = @topsrcdir@
-srcdir    = @srcdir@
-VPATH     = @srcdir@
+srcdir   = @srcdir@
+VPATH    = @srcdir@
 
 LTLIBRARY_SHARED_NAME  = libphp_java.la
-LTLIBRARY_SOURCES = java.c
+LTLIBRARY_SOURCES      = java.c
 LTLIBRARY_DEPENDENCIES = php_java.jar
 
+LTLIBRARY_LDFLAGS      = $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS)
+LTLIBRARY_SHARED_LIBADD = $(LTLIBRARY_DEPENDENCIES) $(EXTRA_LIBS)
+
 EXTRA_CFLAGS   = $(JAVA_CFLAGS)
 EXTRA_INCLUDES = $(JAVA_INCLUDE)
 
index 5af7c776c7d2db964b11e476a0e693806521da2c..f00388ced2e5a802a68f1aa53de4f4ce9343c8b0 100644 (file)
@@ -1,13 +1,16 @@
 
-DEPTH     = ../..
+DEPTH    = ../..
 topsrcdir = @topsrcdir@
-srcdir    = @srcdir@
-VPATH     = @srcdir@
+srcdir   = @srcdir@
+VPATH    = @srcdir@
 
 LTLIBRARY_SHARED_NAME  = libphp_java.la
-LTLIBRARY_SOURCES = java.c
+LTLIBRARY_SOURCES      = java.c
 LTLIBRARY_DEPENDENCIES = php_java.jar
 
+LTLIBRARY_LDFLAGS      = $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS)
+LTLIBRARY_SHARED_LIBADD = $(LTLIBRARY_DEPENDENCIES) $(EXTRA_LIBS)
+
 EXTRA_CFLAGS   = $(JAVA_CFLAGS)
 EXTRA_INCLUDES = $(JAVA_INCLUDE)
 
index 933e2865577889869ee5d951ea19179dbd55f541..cf07914142b79d98b1985b4bca58148f46c6e4eb 100644 (file)
@@ -18,54 +18,65 @@ AC_ARG_WITH(java,
     fi
 
     if test "$withval" = "yes"; then
-      if test -d /usr/local/lib/kaffe; then
-       JAVA_CFLAGS="-DKAFFE"
-       JAVA_INCLUDE=-I/usr/local/include/kaffe
-       JAVA_CLASSPATH=/usr/local/share/kaffe/Klasses.jar
-      elif test -d /usr/lib/kaffe; then
-       JAVA_CFLAGS="-DKAFFE"
-       JAVA_INCLUDE=-I/usr/include/kaffe
-       JAVA_CLASSPATH=/usr/share/kaffe/Klasses.jar
-      else
-       AC_MSG_RESULT(no)
-       AC_MSG_ERROR(unable to find Java VM libraries)
-      fi
+      withval=`cd \`which javac\`/../..;pwd`
+    fi
+
+    if test -d $withval/lib/kaffe; then
+      AC_ADD_LIBPATH($withval/lib/kaffe)
+
+      JAVA_CFLAGS="-DKAFFE"
+      JAVA_INCLUDE=-I$withval/include/kaffe
+      JAVA_CLASSPATH=$withval/share/kaffe/Klasses.jar
+
+      test -f $withval/lib/libkaffevm.so && AC_ADD_LIBPATH($withval/lib)
+      AC_ADD_LIBRARY(kaffevm)
 
       # accomodate old versions of kaffe which don't support jar
       if kaffe -version 2>&1 | grep 1.0b > /dev/null; then
-        JAVA_JAR='zip -q0'
+       JAVA_JAR='zip -q0'
       fi
 
+    elif test -f $withval/lib/libjava.so; then
+      AC_ADD_LIBRARY_WITH_PATH(java, $withval/lib)
+      JAVA_INCLUDE="-I$withval/include"
+      test -f $withval/lib/classes.zip && JAVA_CFLAGS="-DJNI_11"
+      test -f $withval/lib/jvm.jar     && JAVA_CFLAGS="-DJNI_12"
+      test -f $withval/lib/classes.zip && JAVA_CLASSPATH="$withval/lib/classes.zip"
+      test -f $withval/lib/jvm.jar     && JAVA_CLASSPATH="$withval/lib/jvm.jar"
+      for i in $JAVA_INCLUDE/*; do
+       test -f $i/jni_md.h && JAVA_INCLUDE="$JAVA_INCLUDE $i"
+      done
+
     else
-      if test -f $withval/lib/libjava.so; then
-       JAVA_INCLUDE="-I$withval/include"
-       test -f $withval/lib/classes.zip && JAVA_CFLAGS="-DJNI_11"
-       test -f $withval/lib/jvm.jar     && JAVA_CFLAGS="-DJNI_12"
-       test -f $withval/lib/classes.zip && JAVA_CLASSPATH="$withval/lib/classes.zip"
-       test -f $withval/lib/jvm.jar     && JAVA_CLASSPATH="$withval/lib/jvm.jar"
-       for i in $JAVA_INCLUDE/*; do
-         test -f $i/jni_md.h    && JAVA_INCLUDE="$JAVA_INCLUDE $i"
-       done
-      else
-       for i in `find $withval -type d`; do
-         test -f $i/jni.h       && JAVA_INCLUDE="-I$i"
-         test -f $i/jni_md.h    && JAVA_INCLUDE="$JAVA_INCLUDE -I$i"
-         test -f $i/classes.zip && JAVA_CFLAGS="-DJNI_11"
-         test -f $i/jvm.jar     && JAVA_CFLAGS="-DJNI_12"
-         test -f $i/classes.zip && JAVA_CLASSPATH="$i/classes.zip"
-         test -f $i/jvm.jar     && JAVA_CLASSPATH="$i/jvm.jar"
-       done
-       if test -z "$JAVA_INCLUDE"; then
-         AC_MSG_RESULT(no)
-         AC_MSG_ERROR(unable to find Java VM libraries)
+      for i in `find $withval -type d`; do
+       test -f $i/jni.h        && JAVA_INCLUDE="-I$i"
+       test -f $i/jni_md.h     && JAVA_INCLUDE="$JAVA_INCLUDE -I$i"
+       test -f $i/classes.zip  && JAVA_CFLAGS="-DJNI_11"
+       test -f $i/jvm.jar      && JAVA_CFLAGS="-DJNI_12"
+       test -f $i/rt.jar       && JAVA_CFLAGS="-DJNI_12"
+       test -f $i/classes.zip  && JAVA_CLASSPATH="$i/classes.zip"
+       test -f $i/jvm.jar      && JAVA_CLASSPATH="$i/jvm.jar"
+       test -f $i/rt.jar       && JAVA_CLASSPATH="$i/rt.jar"
+       if test -f $i/libjava.so; then 
+         AC_ADD_LIBPATH($i)
+         test -d $i/classic && AC_ADD_LIBPATH($i/classic)
+         test -d $i/green_threads && AC_ADD_LIBPATH($i/green_threads)
        fi
+      done
+      if test -z "$JAVA_INCLUDE"; then
+       AC_MSG_RESULT(no)
+       AC_MSG_ERROR(unable to find Java VM libraries)
       fi
+      AC_ADD_LIBRARY(java)
     fi
 
     AC_DEFINE(HAVE_JAVA,1,[ ])
     if test "$PHP_SAPI" != "servlet"; then
       PHP_EXTENSION(java, shared)
     fi
+
+    INSTALL_IT="$INSTALL_IT; \$(INSTALL) -m 0755 \$(srcdir)/ext/java/php_java.jar \$(libdir)"
+
     AC_MSG_RESULT(yes)
   else
     AC_MSG_RESULT(no)
index f1f5cb17d7f5d1c8aa4181bdb9257f90505461c8..286783c6376b3f9b7ab2c92a4921c8818d7e1bea 100644 (file)
@@ -64,7 +64,6 @@ static void *javadl = 0;
 
 static int le_jobject = 0;
 
-static char *javalib   = 0;
 static char *classpath = 0;
 static char *libpath   = 0;
 static char *javahome  = 0;
@@ -88,8 +87,6 @@ PHP_INI_BEGIN()
     NULL, PHP_INI_ALL, OnIniUpdate, &classpath)
   PHP_INI_ENTRY1("java.home",
     NULL, PHP_INI_ALL, OnIniUpdate, &javahome)
-  PHP_INI_ENTRY1("java.library",
-    NULL, PHP_INI_ALL, OnIniUpdate, &javalib)
   PHP_INI_ENTRY1("java.library.path",
     NULL, PHP_INI_ALL, OnIniUpdate, &libpath)
 PHP_INI_END()
@@ -150,13 +147,6 @@ static int jvm_create() {
 
 #ifndef PHP_WIN32
   if (!libpath)   libpath   = getenv("LD_LIBRARY_PATH");
-  if (javalib) {
-    javadl = dlopen(javalib, RTLD_GLOBAL | RTLD_LAZY);
-    if (!javadl) {
-      php_error(E_ERROR, "Unable to create Java Virtual Machine");
-      return -1;
-    }
-  }
 #endif
 
 #ifdef JNI_12