Dullahan on not windows... my bad
This commit is contained in:
@@ -771,13 +771,27 @@ class DarwinManifest(ViewerManifest):
|
|||||||
except OSError as err:
|
except OSError as err:
|
||||||
print "Can't symlink %s -> %s: %s" % (src, dst, err)
|
print "Can't symlink %s -> %s: %s" % (src, dst, err)
|
||||||
|
|
||||||
# LLCefLib helper apps go inside AlchemyPlugin.app
|
# Dullahan helper apps go inside AlchemyPlugin.app
|
||||||
if self.prefix(src="", dst="AlchemyPlugin.app/Contents/Frameworks"):
|
if self.prefix(src="", dst="AlchemyPlugin.app/Contents/Frameworks"):
|
||||||
for helperappfile in ('LLCefLib Helper.app',
|
helperappfile = 'DullahanHelper.app'
|
||||||
'LLCefLib Helper EH.app'):
|
self.path2basename(relbinpkgdir, helperappfile)
|
||||||
self.path2basename(relpkgdir, helperappfile)
|
|
||||||
|
|
||||||
pluginframeworkpath = self.dst_path_of('Chromium Embedded Framework.framework');
|
pluginframeworkpath = self.dst_path_of('Chromium Embedded Framework.framework');
|
||||||
|
# Putting a Frameworks directory under Contents/MacOS
|
||||||
|
# isn't canonical, but the path baked into Dullahan
|
||||||
|
# Helper.app/Contents/MacOS/DullahanHelper is:
|
||||||
|
# @executable_path/Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework
|
||||||
|
# (notice, not @executable_path/../Frameworks/etc.)
|
||||||
|
# So we'll create a symlink (below) from there back to the
|
||||||
|
# Frameworks directory nested under SLPlugin.app.
|
||||||
|
helperframeworkpath = \
|
||||||
|
self.dst_path_of('DullahanHelper.app/Contents/MacOS/'
|
||||||
|
'Frameworks/Chromium Embedded Framework.framework')
|
||||||
|
|
||||||
|
helperexecutablepath = self.dst_path_of('DullahanHelper.app/Contents/MacOS/DullahanHelper')
|
||||||
|
self.run_command(['install_name_tool', '-change',
|
||||||
|
'@rpath/Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework',
|
||||||
|
'@executable_path/Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework', helperexecutablepath])
|
||||||
|
|
||||||
self.end_prefix()
|
self.end_prefix()
|
||||||
|
|
||||||
@@ -804,19 +818,42 @@ class DarwinManifest(ViewerManifest):
|
|||||||
# This code constructs a relative path from the
|
# This code constructs a relative path from the
|
||||||
# target framework folder back to the location of the symlink.
|
# target framework folder back to the location of the symlink.
|
||||||
# It needs to be relative so that the symlink still works when
|
# It needs to be relative so that the symlink still works when
|
||||||
# (as is normal) the user moves the app bunlde out of the DMG
|
# (as is normal) the user moves the app bundle out of the DMG
|
||||||
# and into the /Applications folder. Note we also call 'raise'
|
# and into the /Applications folder. Note we also call 'raise'
|
||||||
# to terminate the process if we get an error since without
|
# to terminate the process if we get an error since without
|
||||||
# this symlink, Second Life web media can't possibly work.
|
# this symlink, Second Life web media can't possibly work.
|
||||||
# Real Framework folder:
|
# Real Framework folder:
|
||||||
# Second Life.app/Contents/Frameworks/Chromium Embedded Framework.framework/
|
# Alchemy.app/Contents/Frameworks/Chromium Embedded Framework.framework/
|
||||||
# Location of symlink and why it'ds relavie
|
# Location of symlink and why it's relative
|
||||||
# Second Life.app/Contents/Resources/AlchemyPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework/
|
# Alchemy.app/Contents/Resources/AlchemyPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework/
|
||||||
frameworkpath = os.path.join(os.pardir, os.pardir, os.pardir, os.pardir, "Frameworks", "Chromium Embedded Framework.framework")
|
# Real Frameworks folder, with the symlink inside the bundled SLPlugin.app (and why it's relative)
|
||||||
|
# <top level>.app/Contents/Frameworks/Chromium Embedded Framework.framework/
|
||||||
|
# <top level>.app/Contents/Resources/AlchemyPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework ->
|
||||||
|
# It might seem simpler just to create a symlink Frameworks to
|
||||||
|
# the parent of Chromimum Embedded Framework.framework. But
|
||||||
|
# that would create a symlink cycle, which breaks our
|
||||||
|
# packaging step. So make a symlink from Chromium Embedded
|
||||||
|
# Framework.framework to the directory of the same name, which
|
||||||
|
# is NOT an ancestor of the symlink.
|
||||||
|
frameworkpath = os.path.join(os.pardir, os.pardir, os.pardir,
|
||||||
|
os.pardir, "Frameworks",
|
||||||
|
"Chromium Embedded Framework.framework")
|
||||||
try:
|
try:
|
||||||
symlinkf(frameworkpath, pluginframeworkpath)
|
# from AlchemyPlugin.app/Contents/Frameworks/Chromium Embedded
|
||||||
|
# Framework.framework back to
|
||||||
|
# Alchemy.app/Contents/Frameworks/Chromium Embedded Framework.framework
|
||||||
|
origin, target = pluginframeworkpath, frameworkpath
|
||||||
|
self.symlinkf(target, origin)
|
||||||
|
# from AlchemyPlugin.app/Contents/Frameworks/Dullahan
|
||||||
|
# Helper.app/Contents/MacOS/Frameworks/Chromium Embedded
|
||||||
|
# Framework.framework back to
|
||||||
|
# AlchemyPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework
|
||||||
|
self.cmakedirs(os.path.dirname(helperframeworkpath))
|
||||||
|
origin = helperframeworkpath
|
||||||
|
target = os.path.join(os.pardir, frameworkpath)
|
||||||
|
self.symlinkf(target, origin)
|
||||||
except OSError as err:
|
except OSError as err:
|
||||||
print "Can't symlink %s -> %s: %s" % (frameworkpath, pluginframeworkpath, err)
|
print "Can't symlink %s -> %s: %s" % (origin, target, err)
|
||||||
raise
|
raise
|
||||||
|
|
||||||
self.end_prefix("Contents")
|
self.end_prefix("Contents")
|
||||||
@@ -1028,9 +1065,10 @@ class LinuxManifest(ViewerManifest):
|
|||||||
# CEF files
|
# CEF files
|
||||||
if self.prefix(src=os.path.join(pkgdir, 'bin', 'release'), dst="bin"):
|
if self.prefix(src=os.path.join(pkgdir, 'bin', 'release'), dst="bin"):
|
||||||
self.path("chrome-sandbox")
|
self.path("chrome-sandbox")
|
||||||
self.path("llceflib_host")
|
self.path("dullahan_host")
|
||||||
self.path("natives_blob.bin")
|
self.path("natives_blob.bin")
|
||||||
self.path("snapshot_blob.bin")
|
self.path("snapshot_blob.bin")
|
||||||
|
self.path("v8_context_snapshot.bin")
|
||||||
self.end_prefix()
|
self.end_prefix()
|
||||||
|
|
||||||
if self.prefix(src=os.path.join(pkgdir, 'resources'), dst="bin"):
|
if self.prefix(src=os.path.join(pkgdir, 'resources'), dst="bin"):
|
||||||
|
|||||||
Reference in New Issue
Block a user