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. |