Dullahan finally works, thanks Liru, Bitten, Drake. Catch Linux up.

This commit is contained in:
Router Gray
2019-07-22 04:48:34 -05:00
parent 7d9642210d
commit 9600965bcf
3 changed files with 57 additions and 30 deletions

View File

@@ -39,7 +39,7 @@ elseif (DARWIN)
elseif (LINUX)
set(CEF_PLUGIN_LIBRARIES
dullahan
cef_dll_wrapper
cef_dll_wrapper.a
cef
)
endif (WINDOWS)

View File

@@ -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)

View File

@@ -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")
################################################################