summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llappviewer.cpp4
-rw-r--r--indra/newview/llviewermedia.cpp16
-rw-r--r--indra/newview/llvoicevivox.cpp6
3 files changed, 23 insertions, 3 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 12c2740e64..f46580c6c0 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -132,7 +132,7 @@
#include "stringize.h"
#include "llcoros.h"
#include "llexception.h"
-#if LL_DARWIN || LL_LINUX
+#if LL_DARWIN || LL_LINUX || __FreeBSD__
#include "cef/dullahan_version.h"
#endif
#include "vlc/libvlc_version.h"
@@ -3420,7 +3420,7 @@ LLSD LLAppViewer::getViewerInfo() const
info["VOICE_VERSION"] = LLTrans::getString("NotConnected");
}
-#if LL_DARWIN || LL_LINUX
+#if LL_DARWIN || LL_LINUX || __FreeBSD__
std::ostringstream cef_ver_codec;
cef_ver_codec << "Dullahan: ";
cef_ver_codec << DULLAHAN_VERSION_MAJOR;
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index c8b7a9c29b..e86cb7ab39 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -1719,6 +1719,13 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_
{
std::string launcher_name = gDirUtilp->getLLPluginLauncher();
std::string plugin_name = gDirUtilp->getLLPluginFilename(plugin_basename);
+#if __FreeBSD__
+ if (plugin_basename == "media_plugin_cef")
+ {
+ launcher_name = "/compat/linux/usr/libexec/megapahit/SLPlugin";
+ plugin_name = "/compat/linux/usr/lib/x86_64-linux-gnu/libmedia_plugin_cef.so";
+ }
+#endif
std::string user_data_path_cache = gDirUtilp->getCacheDir(false);
user_data_path_cache += gDirUtilp->getDirDelimiter();
@@ -1779,7 +1786,16 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_
media_source->setTarget(target);
+#if __FreeBSD__
+ std::string plugin_dir = gDirUtilp->getLLPluginDir();
+ if (plugin_basename == "media_plugin_cef")
+ {
+ plugin_dir = "/compat/linux/usr/lib/x86_64-linux-gnu";
+ plugin_name = "/usr/lib/x86_64-linux-gnu/libmedia_plugin_cef.so";
+ }
+#else
const std::string plugin_dir = gDirUtilp->getLLPluginDir();
+#endif
if (media_source->init(launcher_name, plugin_dir, plugin_name, gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins")))
{
return media_source;
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index 2034727ac0..673a760a81 100644
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -948,11 +948,15 @@ bool LLVivoxVoiceClient::startAndLaunchDaemon()
// vivox executable exists. Build the command line and launch the daemon.
LLProcess::Params params;
#if LL_LINUX || __FreeBSD__
+#if __FreeBSD__
+ params.envs.add("WINEARCH=win32");
+ params.envs.add("WINEPREFIX=~/.i386-wine-pkg");
+#endif // __FreeBSD__
params.executable = "wine";
params.args.add(exe_path);
#else
params.executable = exe_path;
-#endif
+#endif // LL_LINUX || __FreeBSD__
// VOICE-88: Cycle through [portbase..portbase+portrange) on
// successive tries because attempting to relaunch (after manually