aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorAleric Inglewood2010-09-28 03:19:43 +0200
committerMcCabe Maxsted2010-10-01 23:28:28 -0700
commit27d5708ade21ff8ea2bb90d3b4866c269dce6369 (patch)
tree5678638eeb505d0247c2b886c4ee88906ec44694
parentRED-562: SNOW-422: Imprudence doesn't compile with g++ 4.4.x (diff)
downloadmeta-impy-27d5708ade21ff8ea2bb90d3b4866c269dce6369.zip
meta-impy-27d5708ade21ff8ea2bb90d3b4866c269dce6369.tar.gz
meta-impy-27d5708ade21ff8ea2bb90d3b4866c269dce6369.tar.bz2
meta-impy-27d5708ade21ff8ea2bb90d3b4866c269dce6369.tar.xz
RED-565: Building the package/ directory fails for standalone.
See http://redmine.imprudenceviewer.org/issues/565 This patch also reorders the "help" text of llmanifest.py to be alphabetical, next to adding the option --standalone with help text. indra/newview/CMakeLists.txt is changed to pass --standalone to the python script. Finally, viewer_manifest.py, which inherits from llmanifest.py uses it to skip the sections that don't make sense when building standalone, and which fail with errors without this patch. This patch is not 100% tested: I don't have a Mac or windows. However, it ONLY touches 'standalone', and before my patches standalone was broken anyway. So, even if this doesn't fix it completely for Mac and/or windows, then it can't hurt to commit, or even release. Even if this fails, the errors are not fatal: the packaging fails, but the viewer is already compiled at this point. I'd advise against holding this back until it could be tested by a Mac or windows developer that can build standalone: that might never happen to begin with! When time comes, some other developer will test it and when there are still problems, fix it, on the other operating systems.
-rw-r--r--linden/indra/lib/python/indra/util/llmanifest.py17
-rw-r--r--linden/indra/newview/CMakeLists.txt3
-rwxr-xr-xlinden/indra/newview/viewer_manifest.py15
3 files changed, 22 insertions, 13 deletions
diff --git a/linden/indra/lib/python/indra/util/llmanifest.py b/linden/indra/lib/python/indra/util/llmanifest.py
index 7a2505d..3444a15 100644
--- a/linden/indra/lib/python/indra/util/llmanifest.py
+++ b/linden/indra/lib/python/indra/util/llmanifest.py
@@ -119,7 +119,11 @@ ARGUMENTS=[
119 Example use: %(name)s --arch=i686 119 Example use: %(name)s --arch=i686
120 On Linux this would try to use Linux_i686Manifest.""", 120 On Linux this would try to use Linux_i686Manifest.""",
121 default=""), 121 default=""),
122 dict(name='artwork', description='Artwork directory.', default=DEFAULT_SRCTREE),
122 dict(name='build', description='Build directory.', default=DEFAULT_SRCTREE), 123 dict(name='build', description='Build directory.', default=DEFAULT_SRCTREE),
124 dict(name='channel',
125 description="""The channel to use for updates, packaging, settings name, etc.""",
126 default=get_channel),
123 dict(name='configuration', 127 dict(name='configuration',
124 description="""The build configuration used. Only used on OS X for 128 description="""The build configuration used. Only used on OS X for
125 now, but it could be used for other platforms as well.""", 129 now, but it could be used for other platforms as well.""",
@@ -130,16 +134,13 @@ ARGUMENTS=[
130 though it's not strictly a grid, 'firstlook' is also an acceptable 134 though it's not strictly a grid, 'firstlook' is also an acceptable
131 value for this parameter.""", 135 value for this parameter.""",
132 default=""), 136 default=""),
133 dict(name='channel',
134 description="""The channel to use for updates, packaging, settings name, etc.""",
135 default=get_channel),
136 dict(name='login_channel',
137 description="""The channel to use for login handshake/updates only.""",
138 default=None),
139 dict(name='installer_name', 137 dict(name='installer_name',
140 description=""" The name of the file that the installer should be 138 description=""" The name of the file that the installer should be
141 packaged up into. Only used on Linux at the moment.""", 139 packaged up into. Only used on Linux at the moment.""",
142 default=None), 140 default=None),
141 dict(name='login_channel',
142 description="""The channel to use for login handshake/updates only.""",
143 default=None),
143 dict(name='login_url', 144 dict(name='login_url',
144 description="""The url that the login screen displays in the client.""", 145 description="""The url that the login screen displays in the client.""",
145 default=None), 146 default=None),
@@ -150,7 +151,9 @@ ARGUMENTS=[
150 dict(name='source', 151 dict(name='source',
151 description='Source directory.', 152 description='Source directory.',
152 default=DEFAULT_SRCTREE), 153 default=DEFAULT_SRCTREE),
153 dict(name='artwork', description='Artwork directory.', default=DEFAULT_SRCTREE), 154 dict(name='standalone',
155 description='Set to ON if this is a standalone build.',
156 default="OFF"),
154 dict(name='touch', 157 dict(name='touch',
155 description="""File to touch when action is finished. Touch file will 158 description="""File to touch when action is finished. Touch file will
156 contain the name of the final package in a form suitable 159 contain the name of the final package in a form suitable
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt
index b071795..1816ff9 100644
--- a/linden/indra/newview/CMakeLists.txt
+++ b/linden/indra/newview/CMakeLists.txt
@@ -1319,6 +1319,7 @@ if (WINDOWS)
1319 --configuration=${CMAKE_CFG_INTDIR} 1319 --configuration=${CMAKE_CFG_INTDIR}
1320 --channel=${VIEWER_CHANNEL} 1320 --channel=${VIEWER_CHANNEL}
1321 --login_channel=${VIEWER_LOGIN_CHANNEL} 1321 --login_channel=${VIEWER_LOGIN_CHANNEL}
1322 --standalone=${STANDALONE}
1322 --grid=${GRID} 1323 --grid=${GRID}
1323 --source=${CMAKE_CURRENT_SOURCE_DIR} 1324 --source=${CMAKE_CURRENT_SOURCE_DIR}
1324 --artwork=${ARTWORK_DIR} 1325 --artwork=${ARTWORK_DIR}
@@ -1394,6 +1395,7 @@ if (LINUX)
1394 COMMAND ${PYTHON_EXECUTABLE} 1395 COMMAND ${PYTHON_EXECUTABLE}
1395 ARGS 1396 ARGS
1396 ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py 1397 ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1398 --standalone=${STANDALONE}
1397 --grid=${GRID} 1399 --grid=${GRID}
1398 --channel=${VIEWER_CHANNEL} 1400 --channel=${VIEWER_CHANNEL}
1399 --login_channel=${VIEWER_LOGIN_CHANNEL} 1401 --login_channel=${VIEWER_LOGIN_CHANNEL}
@@ -1453,6 +1455,7 @@ if (DARWIN)
1453 COMMAND ${PYTHON_EXECUTABLE} 1455 COMMAND ${PYTHON_EXECUTABLE}
1454 ARGS 1456 ARGS
1455 ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py 1457 ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1458 --standalone=${STANDALONE}
1456 --grid=${GRID} 1459 --grid=${GRID}
1457 --configuration=${CMAKE_CFG_INTDIR} 1460 --configuration=${CMAKE_CFG_INTDIR}
1458 --channel=${VIEWER_CHANNEL} 1461 --channel=${VIEWER_CHANNEL}
diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py
index 6b5e800..4a17cd0 100755
--- a/linden/indra/newview/viewer_manifest.py
+++ b/linden/indra/newview/viewer_manifest.py
@@ -160,6 +160,8 @@ class ViewerManifest(LLManifest):
160 # whether or not this is present 160 # whether or not this is present
161 return self.args.get('login_channel') 161 return self.args.get('login_channel')
162 162
163 def standalone(self):
164 return self.args['standalone'] == "ON"
163 def grid(self): 165 def grid(self):
164 return self.args['grid'] 166 return self.args['grid']
165 def channel(self): 167 def channel(self):
@@ -327,7 +329,7 @@ class WindowsManifest(ViewerManifest):
327 self.end_prefix() 329 self.end_prefix()
328 330
329 # Gstreamer libs 331 # Gstreamer libs
330 if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): 332 if (not self.standalone()) and self.prefix(src="../../libraries/i686-win32/lib/release", dst=""):
331 self.path("iconv.dll") 333 self.path("iconv.dll")
332 self.path("libxml2.dll") 334 self.path("libxml2.dll")
333 self.path("libcairo-2.dll") 335 self.path("libcairo-2.dll")
@@ -541,7 +543,7 @@ class DarwinManifest(ViewerManifest):
541 self.path("Info-Imprudence.plist", dst="Info.plist") 543 self.path("Info-Imprudence.plist", dst="Info.plist")
542 544
543 # copy additional libs in <bundle>/Contents/MacOS/ 545 # copy additional libs in <bundle>/Contents/MacOS/
544 if self.prefix(src="../../libraries/universal-darwin/lib_release", dst="MacOS/"): 546 if (not self.standalone()) and self.prefix(src="../../libraries/universal-darwin/lib_release", dst="MacOS/"):
545 547
546 self.path("libndofdev.dylib") 548 self.path("libndofdev.dylib")
547 self.path("libhunspell-1.2.dylib") 549 self.path("libhunspell-1.2.dylib")
@@ -635,7 +637,7 @@ class DarwinManifest(ViewerManifest):
635 self.path("zh-Hans.lproj") 637 self.path("zh-Hans.lproj")
636 638
637 639
638 if self.prefix(src="../../libraries/universal-darwin/lib_release/gstreamer-plugins", dst="lib/gstreamer-plugins"): 640 if (not self.standalone()) and self.prefix(src="../../libraries/universal-darwin/lib_release/gstreamer-plugins", dst="lib/gstreamer-plugins"):
639 self.path("libgstaacparse.so") 641 self.path("libgstaacparse.so")
640 self.path("libgstadder.so") 642 self.path("libgstadder.so")
641 self.path("libgstaiffparse.so") 643 self.path("libgstaiffparse.so")
@@ -916,7 +918,7 @@ class Linux_i686Manifest(LinuxManifest):
916 918
917 self.path("app_settings/mozilla-runtime-linux-i686") 919 self.path("app_settings/mozilla-runtime-linux-i686")
918 920
919 if self.prefix("../../libraries/i686-linux/lib_release_client", dst="lib"): 921 if (not self.standalone()) and self.prefix("../../libraries/i686-linux/lib_release_client", dst="lib"):
920 self.path("libapr-1.so.0") 922 self.path("libapr-1.so.0")
921 self.path("libaprutil-1.so.0") 923 self.path("libaprutil-1.so.0")
922 self.path("libdb-4.2.so") 924 self.path("libdb-4.2.so")
@@ -1040,9 +1042,10 @@ class Linux_x86_64Manifest(LinuxManifest):
1040 self.path("featuretable_linux.txt") 1042 self.path("featuretable_linux.txt")
1041 #self.path("secondlife-x86_64.supp") 1043 #self.path("secondlife-x86_64.supp")
1042 1044
1043 self.path("app_settings/mozilla-runtime-linux-x86_64") 1045 if not self.standalone():
1046 self.path("app_settings/mozilla-runtime-linux-x86_64")
1044 1047
1045 if self.prefix("../../libraries/x86_64-linux/lib_release_client", dst="lib64"): 1048 if (not self.standalone()) and self.prefix("../../libraries/x86_64-linux/lib_release_client", dst="lib64"):
1046 self.path("libapr-1.so.0") 1049 self.path("libapr-1.so.0")
1047 self.path("libaprutil-1.so.0") 1050 self.path("libaprutil-1.so.0")
1048 self.path("libdb-4.2.so") 1051 self.path("libdb-4.2.so")