diff options
Diffstat (limited to 'indra/newview/viewer_manifest.py')
-rwxr-xr-x | indra/newview/viewer_manifest.py | 90 |
1 files changed, 28 insertions, 62 deletions
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 929d26c748..1bf4212b33 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -46,7 +46,7 @@ viewer_dir = os.path.dirname(__file__) # Put it FIRST because some of our build hosts have an ancient install of # indra.util.llmanifest under their system Python! sys.path.insert(0, os.path.join(viewer_dir, os.pardir, "lib", "python")) -from indra.util.llmanifest import LLManifest, main, path_ancestors, CHANNEL_VENDOR_BASE, RELEASE_CHANNEL, ManifestError +from indra.util.llmanifest import LLManifest, main, path_ancestors, CHANNEL_VENDOR_BASE, RELEASE_CHANNEL, ManifestError, MissingError from llbase import llsd class ViewerManifest(LLManifest): @@ -148,13 +148,10 @@ class ViewerManifest(LLManifest): with self.prefix(src_dst="skins"): # include the entire textures directory recursively with self.prefix(src_dst="*/textures"): - self.path("*/*.tga") - self.path("*/*.j2c") self.path("*/*.jpg") self.path("*/*.png") self.path("*.tga") self.path("*.j2c") - self.path("*.jpg") self.path("*.png") self.path("textures.xml") self.path("*/xui/*/*.xml") @@ -174,14 +171,6 @@ class ViewerManifest(LLManifest): self.path("*/*/*.gif") - # local_assets dir (for pre-cached textures) - with self.prefix(src_dst="local_assets"): - self.path("*.j2c") - self.path("*.tga") - - # File in the newview/ directory - self.path("gpu_table.txt") - #build_data.json. Standard with exception handling is fine. If we can't open a new file for writing, we have worse problems #platform is computed above with other arg parsing build_data_dict = {"Type":"viewer","Version":'.'.join(self.args['version']), @@ -520,17 +509,6 @@ class WindowsManifest(ViewerManifest): with self.prefix(src=os.path.join(self.args['build'], os.pardir, 'sharedlibs', self.args['configuration'])): - # Get llcommon and deps. If missing assume static linkage and continue. - try: - self.path('llcommon.dll') - self.path('libapr-1.dll') - self.path('libaprutil-1.dll') - self.path('libapriconv-1.dll') - - except RuntimeError as err: - print err.message - print "Skipping llcommon.dll (assuming llcommon was linked statically)" - # Mesh 3rd party libs needed for auto LOD and collada reading try: self.path("glod.dll") @@ -555,24 +533,21 @@ class WindowsManifest(ViewerManifest): if self.args['configuration'].lower() == 'debug': self.path("msvcr120d.dll") self.path("msvcp120d.dll") - self.path("msvcr100d.dll") - self.path("msvcp100d.dll") else: self.path("msvcr120.dll") self.path("msvcp120.dll") - self.path("msvcr100.dll") - self.path("msvcp100.dll") - # Vivox runtimes - self.path("SLVoice.exe") + # SLVoice executable + with self.prefix(src=os.path.join(pkgdir, 'bin', 'release')): + self.path("SLVoice.exe") + + # Vivox libraries if (self.address_size == 64): self.path("vivoxsdk_x64.dll") self.path("ortp_x64.dll") else: self.path("vivoxsdk.dll") self.path("ortp.dll") - self.path("libsndfile-1.dll") - self.path("vivoxoal.dll") # Security self.path("ssleay32.dll") @@ -595,15 +570,6 @@ class WindowsManifest(ViewerManifest): self.path("BugSplat.dll") self.path("BugSplatRc.dll") - # For google-perftools tcmalloc allocator. - try: - if self.args['configuration'].lower() == 'debug': - self.path('libtcmalloc_minimal-debug.dll') - else: - self.path('libtcmalloc_minimal.dll') - except: - print "Skipping libtcmalloc_minimal.dll" - self.path(src="licenses-win32.txt", dst="licenses.txt") self.path("featuretable.txt") @@ -993,7 +959,7 @@ class DarwinManifest(ViewerManifest): with self.prefix(src=relpkgdir, dst=""): self.path("libndofdev.dylib") - self.path("libhunspell-1.3.0.dylib") + self.path("libhunspell-1.3.a") with self.prefix(src_dst="cursors_mac"): self.path("*.tif") @@ -1040,11 +1006,15 @@ class DarwinManifest(ViewerManifest): # (source, dest) pair to self.file_list for every expanded # file processed. Remember its size before the call. oldlen = len(self.file_list) - self.path(src, dst) - # The dest appended to self.file_list has been prepended - # with self.get_dst_prefix(). Strip it off again. - added = [os.path.relpath(d, self.get_dst_prefix()) - for s, d in self.file_list[oldlen:]] + try: + self.path(src, dst) + # The dest appended to self.file_list has been prepended + # with self.get_dst_prefix(). Strip it off again. + added = [os.path.relpath(d, self.get_dst_prefix()) + for s, d in self.file_list[oldlen:]] + except MissingError as err: + print >> sys.stderr, "Warning: "+err.msg + added = [] if not added: print "Skipping %s" % dst return added @@ -1054,18 +1024,10 @@ class DarwinManifest(ViewerManifest): # symlink from sub-app/Contents/Resources to the real .dylib. # Need to get the llcommon dll from any of the build directories as well. libfile_parent = self.get_dst_prefix() - libfile = "libllcommon.dylib" - dylibs = path_optional(self.find_existing_file(os.path.join(os.pardir, - "llcommon", - self.args['configuration'], - libfile), - os.path.join(relpkgdir, libfile)), - dst=libfile) - + dylibs=[] for libfile in ( "libapr-1.0.dylib", "libaprutil-1.0.dylib", - "libcollada14dom.dylib", "libexpat.1.dylib", "libexception_handler.dylib", "libGLOD.dylib", @@ -1076,14 +1038,14 @@ class DarwinManifest(ViewerManifest): ): dylibs += path_optional(os.path.join(relpkgdir, libfile), libfile) - # SLVoice and vivox lols, no symlinks needed + # SLVoice executable + with self.prefix(src=os.path.join(pkgdir, 'bin', 'release')): + self.path("SLVoice") + + # Vivox libraries for libfile in ( 'libortp.dylib', - 'libsndfile.dylib', - 'libvivoxoal.dylib', 'libvivoxsdk.dylib', - 'libvivoxplatform.dylib', - 'SLVoice', ): self.path2basename(relpkgdir, libfile) @@ -1578,7 +1540,6 @@ class Linux_i686_Manifest(LinuxManifest): self.path("libsndfile.so.1") #self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OpenAL lib self.path("libvivoxsdk.so") - self.path("libvivoxplatform.so") self.strip_binaries() @@ -1599,4 +1560,9 @@ if __name__ == "__main__": dict(name='bugsplat', description="""BugSplat database to which to post crashes, if BugSplat crash reporting is desired""", default=''), ] - main(extra=extra_arguments) + try: + main(extra=extra_arguments) + except (ManifestError, MissingError) as err: + sys.exit("\nviewer_manifest.py failed: "+err.msg) + except: + raise |