diff --git a/indra/cmake/CEFPlugin.cmake b/indra/cmake/CEFPlugin.cmake index f19e38254..7f90e6afa 100644 --- a/indra/cmake/CEFPlugin.cmake +++ b/indra/cmake/CEFPlugin.cmake @@ -39,7 +39,7 @@ elseif (DARWIN) elseif (LINUX) set(CEF_PLUGIN_LIBRARIES dullahan - cef_dll_wrapper + cef_dll_wrapper.a cef ) endif (WINDOWS) diff --git a/indra/llvfs/lldir_linux.cpp b/indra/llvfs/lldir_linux.cpp index c1ae9eae1..6e70c2235 100644 --- a/indra/llvfs/lldir_linux.cpp +++ b/indra/llvfs/lldir_linux.cpp @@ -262,7 +262,7 @@ bool LLDir_Linux::fileExists(const std::string &filename) const /*virtual*/ std::string LLDir_Linux::getLLPluginLauncher() { return gDirUtilp->getExecutableDir() + gDirUtilp->getDirDelimiter() + - "SLPlugin"; + "llplugin/SLPlugin"; } /*virtual*/ std::string LLDir_Linux::getLLPluginFilename(std::string base_name) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 368f05be9..5b557dcab 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -1171,11 +1171,9 @@ class LinuxManifest(ViewerManifest): with self.prefix(dst="bin"): self.path("%s-bin"%self.viewer_branding_id(),"do-not-directly-run-%s-bin"%self.viewer_branding_id()) - self.path2basename("../llplugin/slplugin", "SLPlugin") - with self.prefix("res-sdl"): - self.path("*") - # recurse + # recurses, packaged again + self.path("res-sdl") # Get the icons based on the channel type icon_path = self.icon_path() @@ -1186,6 +1184,9 @@ class LinuxManifest(ViewerManifest): self.path("viewer_256.BMP","viewer_icon.BMP") # plugins + with self.prefix(src="../llplugin/slplugin", dst="bin/llplugin"): + self.path("SLPlugin") + with self.prefix(src="../plugins", dst="bin/llplugin"): self.path2basename("filepicker", "libbasic_plugin_filepicker.so") self.path("gstreamer010/libmedia_plugin_gstreamer010.so", "libmedia_plugin_gstreamer.so") @@ -1199,6 +1200,29 @@ class LinuxManifest(ViewerManifest): with self.prefix(src=os.path.join(pkgdir, 'lib' ), dst="lib"): self.path( "libvlc*.so*" ) + # CEF common files + with self.prefix(src=os.path.join(pkgdir, 'resources'), dst=os.path.join('bin', 'llplugin') ): + self.path("cef.pak") + self.path("cef_extensions.pak") + self.path("cef_100_percent.pak") + self.path("cef_200_percent.pak") + self.path("devtools_resources.pak") + self.path("icudtl.dat") + + with self.prefix(src=os.path.join(pkgdir, 'resources', 'locales'), dst=os.path.join('bin', 'llplugin', 'locales') ): + self.path("*.pak") + + with self.prefix(src=os.path.join(pkgdir, 'bin', 'release'), dst=os.path.join('bin', 'llplugin') ): + self.path("dullahan_host") + self.path("chrome-sandbox") + self.path("natives_blob.bin") + self.path("snapshot_blob.bin") + self.path("v8_context_snapshot.bin") + + # plugin runtime + with self.prefix(src=relpkgdir, dst=os.path.join('bin', 'llplugin') ): + self.path("libcef.so") + # llcommon if not self.path("../llcommon/libllcommon.so", "lib/libllcommon.so"): print "Skipping llcommon.so (assuming llcommon was linked statically)" @@ -1244,11 +1268,14 @@ class LinuxManifest(ViewerManifest): if self.args['buildtype'].lower() == 'release' and self.is_packaging_viewer(): print "* Going strip-crazy on the packaged binaries, since this is a RELEASE build" # makes some small assumptions about our packaged dir structure - self.run_command( - ["find"] + - [os.path.join(self.get_dst_prefix(), dir) for dir in ('bin', 'lib')] + - ['-type', 'f', '!', '-name', '*.py', - '!', '-name', 'update_install', '-exec', 'strip', '-S', '{}', ';']) + try: + self.run_command( + ["find"] + + [os.path.join(self.get_dst_prefix(), dir) for dir in ('bin', 'bin/llplugin', 'lib', 'lib32', 'lib64')] + + ['-executable', '-type', 'f', '!', '-name', 'update_install', '-exec', 'strip', '-S', '{}', ';']) + except ManifestError as err: + print err.message + pass class Linux_i686_Manifest(LinuxManifest): address_size = 32 @@ -1260,19 +1287,19 @@ class Linux_i686_Manifest(LinuxManifest): relpkgdir = os.path.join(pkgdir, "lib", "release") debpkgdir = os.path.join(pkgdir, "lib", "debug") - if (not self.standalone()) and self.prefix(src=relpkgdir, dst="lib"): + with self.prefix(relpkgdir, dst="lib"): self.path("libapr-1.so*") self.path("libaprutil-1.so*") - self.path("libcef.so") self.path("libexpat.so.*") self.path("libGLOD.so") self.path("libSDL-1.2.so.*") self.path("libalut.so") self.path("libopenal.so.1") + self.path("libfmod.so*") self.path("libtcmalloc_minimal.so.0") self.path("libtcmalloc_minimal.so.0.2.2") - self.end_prefix() + # Vivox runtimes with self.prefix(src=relpkgdir, dst="bin"): @@ -1284,6 +1311,13 @@ class Linux_i686_Manifest(LinuxManifest): self.path("libvivoxsdk.so") self.path("libvivoxplatform.so") + # CEF renderers + with self.prefix(src=os.path.join(relpkgdir, 'swiftshader'), dst=os.path.join("lib", "swiftshader") ): + self.path( "*.so" ) + with self.prefix(src=relpkgdir, dst="lib"): + self.path("libEGL.so") + self.path("libGLESv2.so") + class Linux_x86_64_Manifest(LinuxManifest): address_size = 64 @@ -1295,29 +1329,19 @@ class Linux_x86_64_Manifest(LinuxManifest): relpkgdir = os.path.join(pkgdir, "lib", "release") debpkgdir = os.path.join(pkgdir, "lib", "debug") - if (not self.standalone()) and self.prefix(relpkgdir, dst="lib64"): + with self.prefix(relpkgdir, dst="lib64"): self.path("libapr-1.so*") self.path("libaprutil-1.so*") self.path("libexpat.so*") self.path("libGLOD.so") self.path("libSDL-1.2.so*") - self.path("libhunspell-1.3.so*") + self.path("libhunspell*.so*") self.path("libalut.so*") self.path("libopenal.so*") + self.path("libfmod.so*") - try: - self.path("libtcmalloc.so*") #formerly called google perf tools - pass - except: - print "tcmalloc files not found, skipping" - pass + self.path("libtcmalloc.so*") #formerly called google perf tools - try: - self.path("libfmod.so*") - pass - except: - print "Skipping libfmod.so - not found" - pass # Vivox runtimes with self.prefix(src=relpkgdir, dst="bin"): @@ -1329,9 +1353,12 @@ class Linux_x86_64_Manifest(LinuxManifest): self.path("libvivoxsdk.so") self.path("libvivoxplatform.so") - # plugin runtime + # CEF renderers + with self.prefix(src=os.path.join(relpkgdir, 'swiftshader'), dst=os.path.join("lib64", "swiftshader") ): + self.path( "*.so" ) with self.prefix(src=relpkgdir, dst="lib64"): - self.path("libcef.so") + self.path("libEGL.so") + self.path("libGLESv2.so") ################################################################