diff options
author | Aleric Inglewood | 2010-09-28 03:19:43 +0200 |
---|---|---|
committer | McCabe Maxsted | 2010-10-01 23:28:28 -0700 |
commit | 27d5708ade21ff8ea2bb90d3b4866c269dce6369 (patch) | |
tree | 5678638eeb505d0247c2b886c4ee88906ec44694 | |
parent | RED-562: SNOW-422: Imprudence doesn't compile with g++ 4.4.x (diff) | |
download | meta-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.py | 17 | ||||
-rw-r--r-- | linden/indra/newview/CMakeLists.txt | 3 | ||||
-rwxr-xr-x | linden/indra/newview/viewer_manifest.py | 15 |
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") |