summaryrefslogtreecommitdiff
path: root/jvmfwk/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'jvmfwk/plugins')
-rw-r--r--jvmfwk/plugins/sunmajor/pluginlib/sunjre.cxx11
-rw-r--r--jvmfwk/plugins/sunmajor/pluginlib/util.cxx10
2 files changed, 20 insertions, 1 deletions
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunjre.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunjre.cxx
index fb77e2a6703d..f82a286d682d 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/sunjre.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/sunjre.cxx
@@ -59,6 +59,9 @@ char const* const* SunInfo::getRuntimePaths(int * size)
"/bin/classic/jvm.dll",
// The 64-bit JRE has the jvm in bin/server
"/bin/server/jvm.dll"
+#elif defined MACOSX && defined X86_64
+ // Oracle Java 7, under /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
+ "/lib/server/libjvm.dylib"
#elif defined UNX
"/lib/" JFW_PLUGIN_ARCH "/client/libjvm.so",
"/lib/" JFW_PLUGIN_ARCH "/server/libjvm.so",
@@ -71,12 +74,18 @@ char const* const* SunInfo::getRuntimePaths(int * size)
char const* const* SunInfo::getLibraryPaths(int* size)
{
-#ifdef UNX
+#if defined UNX
static char const * ar[] = {
+#if defined MACOSX && defined X86_64
+ // Oracle Java 7, under /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
+ "/lib/server",
+ "/lib"
+#else
"/lib/" JFW_PLUGIN_ARCH "/client",
"/lib/" JFW_PLUGIN_ARCH "/server",
"/lib/" JFW_PLUGIN_ARCH "/native_threads",
"/lib/" JFW_PLUGIN_ARCH
+#endif
};
*size = SAL_N_ELEMENTS(ar);
return ar;
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
index fea25b05e078..f488b15653db 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
@@ -61,6 +61,7 @@ using ::rtl::Reference;
#endif
#ifdef UNX
+#if !(defined MACOSX && defined X86_64)
namespace {
char const *g_arJavaNames[] = {
"",
@@ -113,6 +114,7 @@ char const *g_arSearchPaths[] = {
#endif
};
}
+#endif
#endif // UNX
namespace jfw_plugin
@@ -1137,6 +1139,14 @@ void createJavaInfoDirScan(vector<rtl::Reference<VendorBase> >& vecInfos)
getJREInfoByPath("file:////usr/jdk/latest", vecInfos);
}
+#elif defined MACOSX && defined X86_64
+
+void createJavaInfoDirScan(vector<rtl::Reference<VendorBase> >& vecInfos)
+{
+ // Oracle Java 7
+ getJREInfoByPath("file:///Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home", vecInfos);
+}
+
#else
void createJavaInfoDirScan(vector<rtl::Reference<VendorBase> >& vecInfos)
{