|
From: <br...@us...> - 2009-10-22 04:45:38
|
Revision: 4007
http://openvrml.svn.sourceforge.net/openvrml/?rev=4007&view=rev
Author: braden
Date: 2009-10-22 04:45:26 +0000 (Thu, 22 Oct 2009)
Log Message:
-----------
Prefer JRE_HOME to locate libjvm rather than JAVA_HOME.
Modified Paths:
--------------
trunk/ChangeLog
trunk/configure-gcc-dbg
trunk/configure-gcc-opt
trunk/configure.ac
trunk/src/Makefile.am
trunk/src/script/java.cpp
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-10-19 16:22:19 UTC (rev 4006)
+++ trunk/ChangeLog 2009-10-22 04:45:26 UTC (rev 4007)
@@ -1,3 +1,16 @@
+2009-10-22 Braden McDaniel <br...@en...>
+
+ Prefer JRE_HOME to locate libjvm rather than JAVA_HOME.
+
+ * configure.ac: Use JRE_HOME instead of JAVA_HOME.
+ * src/Makefile.am (script_java_la_CPPFLAGS): Define JRE_HOME
+ instead of JAVA_HOME.
+ * src/script/java.cpp
+ (prepend_jre_home_libdirs_to_searchpath(const std::string &)):
+ Changed function name.
+ (load_libjvm::load_libjvm()): First check JRE_HOME; then use
+ JAVA_HOME if JRE_HOME isn't set.
+
2009-10-19 Braden McDaniel <br...@en...>
* src/node/vrml97/collision.cpp
Modified: trunk/configure-gcc-dbg
===================================================================
--- trunk/configure-gcc-dbg 2009-10-19 16:22:19 UTC (rev 4006)
+++ trunk/configure-gcc-dbg 2009-10-22 04:45:26 UTC (rev 4007)
@@ -1,3 +1,3 @@
#!/bin/bash
-./$(dirname $0)/configure -C --prefix=$HOME --disable-static CXX='g++ -pipe' CPPFLAGS="-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -D_GLIBCXX_CONCEPT_CHECKS -DG_ERRORCHECK_MUTEXES -I$HOME/include -I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" CXXFLAGS='-g3 -O0 -pedantic-errors -Wall -Wextra -Wno-missing-braces -Wno-missing-field-initializers -Wno-long-long' LDFLAGS="-L$HOME/lib64 -L$HOME/lib" JAVA_HOME=/usr/lib/jvm/jre "$*"
+./$(dirname $0)/configure -C --prefix=$HOME --disable-static CXX='g++ -pipe' CPPFLAGS="-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -D_GLIBCXX_CONCEPT_CHECKS -DG_ERRORCHECK_MUTEXES -I$HOME/include -I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" CXXFLAGS='-g3 -O0 -pedantic-errors -Wall -Wextra -Wno-missing-braces -Wno-missing-field-initializers -Wno-long-long' LDFLAGS="-L$HOME/lib64 -L$HOME/lib" JRE_HOME=/usr/lib/jvm/jre "$*"
Modified: trunk/configure-gcc-opt
===================================================================
--- trunk/configure-gcc-opt 2009-10-19 16:22:19 UTC (rev 4006)
+++ trunk/configure-gcc-opt 2009-10-22 04:45:26 UTC (rev 4007)
@@ -1,3 +1,3 @@
#!/bin/bash
-./$(dirname $0)/configure -C --prefix=$HOME --disable-static --enable-exception-specs=nothrow CXX='g++ -pipe' CPPFLAGS="-I$HOME/include -I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux -DNDEBUG" CXXFLAGS='-O3 -Wall -Wextra -Wno-missing-braces -Wno-unused-variable -fvisibility=hidden -fvisibility-inlines-hidden' LDFLAGS="-L$HOME/lib64 -L$HOME/lib" JAVA_HOME=/usr/lib/jvm/jre "$*"
+./$(dirname $0)/configure -C --prefix=$HOME --disable-static --enable-exception-specs=nothrow CXX='g++ -pipe' CPPFLAGS="-I$HOME/include -I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux -DNDEBUG" CXXFLAGS='-O3 -Wall -Wextra -Wno-missing-braces -Wno-unused-variable -fvisibility=hidden -fvisibility-inlines-hidden' LDFLAGS="-L$HOME/lib64 -L$HOME/lib" JRE_HOME=/usr/lib/jvm/jre "$*"
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac 2009-10-19 16:22:19 UTC (rev 4006)
+++ trunk/configure.ac 2009-10-22 04:45:26 UTC (rev 4007)
@@ -371,7 +371,7 @@
#
# Script node Java support
#
-AC_ARG_VAR([JAVA_HOME], [Path to Java Runtime Environment])
+AC_ARG_VAR([JRE_HOME], [Path to Java Runtime Environment])
AC_ARG_ENABLE([script-node-java],
[AC_HELP_STRING([--disable-script-node-java],
[disable Script node Java support])])
@@ -388,12 +388,12 @@
[AC_MSG_FAILURE([The Java Native Interface is required for Script node Java support.])])
AC_DEFINE_UNQUOTED([OPENVRML_JNI_CONST], [$ov_cv_jni_const],
[const for JNI function signatures.])
-AS_IF([test -z "$JAVA_HOME"],
-[AC_MSG_WARN([JAVA_HOME has not been set. JAVA_HOME must be set at run time to locate libjvm.])],
+AS_IF([test -z "$JRE_HOME"],
+[AC_MSG_WARN([JRE_HOME has not been set. JRE_HOME must be set at run time to locate libjvm.])],
[ov_save_LDFLAGS=$LDFLAGS
-LDFLAGS="-L$JAVA_HOME/lib/$OPENVRML_JVM_ARCH/client -L$JAVA_HOME/lib/$OPENVRML_JVM_ARCH/server $LDFLAGS"
+LDFLAGS="-L$JRE_HOME/lib/$OPENVRML_JVM_ARCH/client -L$JRE_HOME/lib/$OPENVRML_JVM_ARCH/server $LDFLAGS"
AC_CHECK_LIB([jvm], [JNI_CreateJavaVM], [LIBS=$LIBS],
- [AC_MSG_WARN([no libjvm found at JAVA_HOME])])
+ [AC_MSG_WARN([no libjvm found at JRE_HOME])])
LDFLAGS=$ov_save_LDFLAGS
])
java_subdir=java])
Modified: trunk/src/Makefile.am
===================================================================
--- trunk/src/Makefile.am 2009-10-19 16:22:19 UTC (rev 4006)
+++ trunk/src/Makefile.am 2009-10-22 04:45:26 UTC (rev 4007)
@@ -170,7 +170,7 @@
-I$(top_srcdir)/src/local/libopenvrml-dl \
-DOPENVRML_LIBDIR_=\"$(libdir)\" \
-DOPENVRML_PKGDATADIR_=\"$(pkgdatadir)\" \
- -DJAVA_HOME=\"$(JAVA_HOME)\" \
+ -DJRE_HOME=\"$(JRE_HOME)\" \
-DOPENVRML_JVM_ARCH=\"$(OPENVRML_JVM_ARCH)\" \
-DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS \
-DBOOST_MPL_LIMIT_VECTOR_SIZE=30
Modified: trunk/src/script/java.cpp
===================================================================
--- trunk/src/script/java.cpp 2009-10-19 16:22:19 UTC (rev 4006)
+++ trunk/src/script/java.cpp 2009-10-22 04:45:26 UTC (rev 4007)
@@ -114,9 +114,9 @@
OPENVRML_JAVA_LOCAL
int
- prepend_java_home_libdirs_to_searchpath(const std::string & java_home)
+ prepend_jre_home_libdirs_to_searchpath(const std::string & jre_home)
{
- assert(!java_home.empty());
+ assert(!jre_home.empty());
using std::ostringstream;
using namespace openvrml::local;
@@ -128,14 +128,14 @@
{
ostringstream libdir;
libdir.exceptions(exceptions);
- libdir << java_home << "/lib/" << OPENVRML_JVM_ARCH << "/client";
+ libdir << jre_home << "/lib/" << OPENVRML_JVM_ARCH << "/client";
result = dl::prepend_to_searchpath(libdir.str().c_str());
if (result != 0) { return result; }
}
{
ostringstream libdir;
libdir.exceptions(exceptions);
- libdir << java_home << "/lib/" << OPENVRML_JVM_ARCH << "/server";
+ libdir << jre_home << "/lib/" << OPENVRML_JVM_ARCH << "/server";
result = dl::prepend_to_searchpath(libdir.str().c_str());
if (result != 0) { return result; }
}
@@ -151,21 +151,36 @@
std::cerr << dl::error() << std::endl;
return;
}
- const std::string java_home = JAVA_HOME;
- if (!java_home.empty()) {
- result = prepend_java_home_libdirs_to_searchpath(java_home);
+ const std::string jre_home = JRE_HOME;
+ if (!jre_home.empty()) {
+ result = prepend_jre_home_libdirs_to_searchpath(jre_home);
if (result != 0) {
std::cerr << dl::error() << std::endl;
return;
}
}
- const char * const java_home_env = getenv("JAVA_HOME");
- if (java_home_env && (java_home_env != java_home)) {
- result = prepend_java_home_libdirs_to_searchpath(java_home_env);
+ const char * const jre_home_env = getenv("JRE_HOME");
+ if (jre_home_env && (jre_home_env != jre_home)) {
+ result = prepend_jre_home_libdirs_to_searchpath(jre_home_env);
if (result != 0) {
std::cerr << dl::error() << std::endl;
return;
}
+ } else {
+ //
+ // If JRE_HOME isn't set, try JAVA_HOME.
+ //
+ const char * const java_home_env = getenv("JAVA_HOME");
+ if (java_home_env) {
+ using boost::filesystem::path;
+ result =
+ prepend_jre_home_libdirs_to_searchpath(
+ (path(java_home_env) / "jre").string());
+ if (result != 0) {
+ std::cerr << dl::error() << std::endl;
+ return;
+ }
+ }
}
libjvm_handle = dl::open("libjvm");
if (!libjvm_handle) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|