From 8227efcaf1974d3dc80368bc1b82d6421bc53155 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Mon, 9 May 2011 13:35:51 +0200 Subject: [PATCH] Make our build and packaging shine again --- indra/cmake/GooglePerfTools.cmake | 4 +-- indra/lib/python/indra/util/llmanifest.py | 18 ++++++------ indra/newview/viewer_manifest.py | 35 +++++++++++------------ 3 files changed, 28 insertions(+), 29 deletions(-) diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake index 0b483e5cf..a71e29df3 100644 --- a/indra/cmake/GooglePerfTools.cmake +++ b/indra/cmake/GooglePerfTools.cmake @@ -43,9 +43,9 @@ else (USE_GOOGLE_PERFTOOLS) set(TCMALLOC_FLAG -ULL_USE_TCMALLOC) endif (USE_GOOGLE_PERFTOOLS) -if (NOT(DISABLE_TCMALLOC OR NOT USE_GOOGLE_PERFTOOLS)) +if (NOT(DISABLE_TCMALLOC OR USE_GOOGLE_PERFTOOLS OR STANDALONE)) message(STATUS "Building with Google TCMalloc") - set(TCMALLOC_FLAG -DLL_USE_TCMALLOC=1_) + set(TCMALLOC_FLAG -DLL_USE_TCMALLOC=1) include_directories(${GOOGLE_PERFTOOLS_INCLUDE_DIR}) set(GOOGLE_PERFTOOLS_LIBRARIES ${TCMALLOC_LIBRARIES}) set(GOOGLE_PERFTOOLS_LINKER_FLAGS ${TCMALLOC_LINKER_FLAGS}) diff --git a/indra/lib/python/indra/util/llmanifest.py b/indra/lib/python/indra/util/llmanifest.py index 585b47d4a..492fd3700 100644 --- a/indra/lib/python/indra/util/llmanifest.py +++ b/indra/lib/python/indra/util/llmanifest.py @@ -119,7 +119,6 @@ ARGUMENTS=[ Example use: %(name)s --arch=i686 On Linux this would try to use Linux_i686Manifest.""", default=""), - dict(name='artwork', description='Artwork directory.', default=DEFAULT_SRCTREE), dict(name='build', description='Build directory.', default=DEFAULT_SRCTREE), dict(name='buildtype', description="""The build type used. ('Debug', 'Release', 'ReleaseSSE2' or 'RelWithDebInfo') Default is Release """, @@ -127,9 +126,6 @@ ARGUMENTS=[ dict(name='branding_id', description="""Identifier for the branding set to use. Currently, 'secondlife' or 'snowglobe')""", default='secondlife'), - dict(name='channel', - description="""The channel to use for updates, packaging, settings name, etc.""", - default=get_channel), dict(name='configuration', description="""The build configuration used. Only used on OS X for now, but it could be used for other platforms as well.""", @@ -140,13 +136,16 @@ ARGUMENTS=[ though it's not strictly a grid, 'firstlook' is also an acceptable value for this parameter.""", default=""), + dict(name='channel', + description="""The channel to use for updates, packaging, settings name, etc.""", + default=get_channel), + dict(name='login_channel', + description="""The channel to use for login handshake/updates only.""", + default=None), dict(name='installer_name', description=""" The name of the file that the installer should be packaged up into. Only used on Linux at the moment.""", default=None), - dict(name='login_channel', - description="""The channel to use for login handshake/updates only.""", - default=None), dict(name='login_url', description="""The url that the login screen displays in the client.""", default=None), @@ -160,6 +159,7 @@ ARGUMENTS=[ dict(name='standalone', description='Set to ON if this is a standalone build.', default="OFF"), + dict(name='artwork', description='Artwork directory.', default=DEFAULT_SRCTREE), dict(name='touch', description="""File to touch when action is finished. Touch file will contain the name of the final package in a form suitable @@ -637,9 +637,9 @@ class LLManifest(object): is_glob = False # look under each prefix for matching paths - paths = [os.path.join(self.get_src_prefix(), src), + paths = set([os.path.join(self.get_src_prefix(), src), os.path.join(self.get_artwork_prefix(), src), - os.path.join(self.get_build_prefix(), src)] + os.path.join(self.get_build_prefix(), src)]) for path in paths: if self.wildcard_pattern.search(path): is_glob = True diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 9ca3b4704..8c2b42f5e 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -263,19 +263,21 @@ class WindowsManifest(ViewerManifest): self.path("skins/default/xui/en-us/mime_types_windows.xml", "skins/default/xui/en-us/mime_types.xml") # Get llcommon and deps. If missing assume static linkage and continue. - #~ if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): - #~ try: - #~ self.path('llcommon.dll') - #~ except RuntimeError, err: - #~ print err.message - #~ print "Skipping llcommon.dll (assuming llcommon was linked statically)" - #~ try: - #~ self.path('libapr-1.dll') - #~ self.path('libaprutil-1.dll') - #~ self.path('libapriconv-1.dll') - #~ except RuntimeError, err: - #~ pass - #~ self.end_prefix() + if self.prefix(src=self.args['configuration'], dst=""): + try: + self.path('llcommon.dll') + except RuntimeError, err: + print err.message + print "Skipping llcommon.dll (assuming llcommon was linked statically)" + self.end_prefix() + if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): + try: + self.path('libapr-1.dll') + self.path('libaprutil-1.dll') + self.path('libapriconv-1.dll') + except RuntimeError, err: + pass + self.end_prefix() # For google-perftools tcmalloc allocator. self.path("../../libraries/i686-win32/lib/release/libtcmalloc_minimal.dll", dst="libtcmalloc_minimal.dll") @@ -454,9 +456,6 @@ class DarwinManifest(ViewerManifest): self.path("../../libraries/universal-darwin/lib_release/libvorbis.0.dylib", dst="MacOS/libvorbis.0.dylib") self.path("../../libraries/universal-darwin/lib_release/libogg.0.dylib", dst="MacOS/libogg.0.dylib") - # hunspell library - #self.path("../../libraries/universal-darwin/lib_release/libhunspell-1.2.dylib", "MacOS/libhunspell-1.2.dylib"); - # most everything goes in the Resources directory if self.prefix(src="", dst="Resources"): super(DarwinManifest, self).construct() @@ -518,7 +517,8 @@ class DarwinManifest(ViewerManifest): # dependencies on shared libs mac_crash_logger_res_path = self.dst_path_of("mac-crash-logger.app/Contents/Resources") slplugin_res_path = self.dst_path_of("SLPlugin.app/Contents/Resources") - for libfile in ("libapr-1.0.3.7.dylib", + for libfile in ("libllcommon.dylib", + "libapr-1.0.3.7.dylib", "libaprutil-1.0.3.8.dylib", "libexpat.0.5.0.dylib"): target_lib = os.path.join('../../..', libfile) @@ -793,7 +793,6 @@ class Linux_i686Manifest(LinuxManifest): self.path("libalut.so") self.path("libopenal.so", "libopenal.so.1") self.path("libtcmalloc_minimal.so.0") - #self.path("libhunspell-1.2.so.0.0.0", "libhunspell-1.2.so.0") self.path("libtcmalloc_minimal.so.0.0.0") self.end_prefix("lib")