aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.txt12
-rwxr-xr-xlinden/indra/develop.py4
-rw-r--r--linden/indra/lib/python/indra/util/llmanifest.py13
-rw-r--r--linden/indra/newview/CMakeLists.txt2
-rw-r--r--linden/indra/newview/installers/windows/installer_template.nsi4
-rwxr-xr-xlinden/indra/newview/viewer_manifest.py130
6 files changed, 120 insertions, 45 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index c7f2d91..cbbf4d9 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,15 @@
12010-01-09 McCabe Maxsted <hakushakukun@gmail.com>
2
3 * Fixed viewer_manifest.py and default packaging system for Windows
4 NSIS install script only works manually.
5
6 modified: linden/indra/develop.py
7 modified: linden/indra/lib/python/indra/util/llmanifest.py
8 modified: linden/indra/newview/CMakeLists.txt
9 modified: linden/indra/newview/installers/windows/installer_template.nsi
10 modified: linden/indra/newview/viewer_manifest.py
11
12
12010-01-08 McCabe Maxsted <hakushakukun@gmail.com> 132010-01-08 McCabe Maxsted <hakushakukun@gmail.com>
2 14
3 * Fixed options missing from Text Chat and Input & Camera preferences (see VWR-13120). 15 * Fixed options missing from Text Chat and Input & Camera preferences (see VWR-13120).
diff --git a/linden/indra/develop.py b/linden/indra/develop.py
index 8ea435c..31dcb6a 100755
--- a/linden/indra/develop.py
+++ b/linden/indra/develop.py
@@ -520,12 +520,14 @@ class WindowsSetup(PlatformSetup):
520 unattended=self.unattended, 520 unattended=self.unattended,
521 project_name=self.project_name 521 project_name=self.project_name
522 ) 522 )
523 #if simple: 523 # default to packaging enabled
524 # if simple:
524 # return 'cmake %(opts)s "%(dir)s"' % args 525 # return 'cmake %(opts)s "%(dir)s"' % args
525 return ('cmake -G "%(generator)s" ' 526 return ('cmake -G "%(generator)s" '
526 '-DSTANDALONE:BOOL=%(standalone)s ' 527 '-DSTANDALONE:BOOL=%(standalone)s '
527 '-DUNATTENDED:BOOL=%(unattended)s ' 528 '-DUNATTENDED:BOOL=%(unattended)s '
528 '-DROOT_PROJECT_NAME:STRING=%(project_name)s ' 529 '-DROOT_PROJECT_NAME:STRING=%(project_name)s '
530 '-DPACKAGE:BOOL=ON '
529 '%(opts)s "%(dir)s"' % args) 531 '%(opts)s "%(dir)s"' % args)
530 532
531 def find_visual_studio(self, gen=None): 533 def find_visual_studio(self, gen=None):
diff --git a/linden/indra/lib/python/indra/util/llmanifest.py b/linden/indra/lib/python/indra/util/llmanifest.py
index 59c84e5..369cc81 100644
--- a/linden/indra/lib/python/indra/util/llmanifest.py
+++ b/linden/indra/lib/python/indra/util/llmanifest.py
@@ -81,10 +81,11 @@ def get_default_version(srctree):
81 for p in paths: 81 for p in paths:
82 if os.path.exists(p): 82 if os.path.exists(p):
83 contents = open(p, 'r').read() 83 contents = open(p, 'r').read()
84 major = re.search("LL_VERSION_MAJOR\s=\s([0-9]+)", contents).group(1) 84 major = re.search("IMP_VERSION_MAJOR\s=\s([0-9]+)", contents).group(1)
85 minor = re.search("LL_VERSION_MINOR\s=\s([0-9]+)", contents).group(1) 85 minor = re.search("IMP_VERSION_MINOR\s=\s([0-9]+)", contents).group(1)
86 patch = re.search("LL_VERSION_PATCH\s=\s([0-9]+)", contents).group(1) 86 patch = re.search("IMP_VERSION_PATCH\s=\s([0-9]+)", contents).group(1)
87 build = re.search("LL_VERSION_BUILD\s=\s([0-9]+)", contents).group(1) 87 #build = re.search("LL_VERSION_BUILD\s=\s([0-9]+)", contents).group(1)
88 build = re.search('const char \* const IMP_VERSION_TEST = "(.*)";', contents).group(1)
88 return major, minor, patch, build 89 return major, minor, patch, build
89 90
90def get_channel(srctree): 91def get_channel(srctree):
@@ -98,7 +99,7 @@ def get_channel(srctree):
98 99
99 100
100DEFAULT_SRCTREE = os.path.dirname(sys.argv[0]) 101DEFAULT_SRCTREE = os.path.dirname(sys.argv[0])
101DEFAULT_CHANNEL = 'Second Life Release' 102DEFAULT_CHANNEL = 'Imprudence'
102 103
103ARGUMENTS=[ 104ARGUMENTS=[
104 dict(name='actions', 105 dict(name='actions',
@@ -156,7 +157,7 @@ ARGUMENTS=[
156 for use by a .bat file.""", 157 for use by a .bat file.""",
157 default=None), 158 default=None),
158 dict(name='version', 159 dict(name='version',
159 description="""This specifies the version of Second Life that is 160 description="""This specifies the version of Imprudence that is
160 being packaged up.""", 161 being packaged up.""",
161 default=get_default_version) 162 default=get_default_version)
162 ] 163 ]
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt
index a696f6e..e451465 100644
--- a/linden/indra/newview/CMakeLists.txt
+++ b/linden/indra/newview/CMakeLists.txt
@@ -1442,7 +1442,7 @@ if (WINDOWS)
1442 --source=${CMAKE_CURRENT_SOURCE_DIR} 1442 --source=${CMAKE_CURRENT_SOURCE_DIR}
1443 --artwork=${ARTWORK_DIR} 1443 --artwork=${ARTWORK_DIR}
1444 --build=${CMAKE_CURRENT_BINARY_DIR} 1444 --build=${CMAKE_CURRENT_BINARY_DIR}
1445 --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} 1445 --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/package
1446 --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat 1446 --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat
1447 DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py 1447 DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1448 ) 1448 )
diff --git a/linden/indra/newview/installers/windows/installer_template.nsi b/linden/indra/newview/installers/windows/installer_template.nsi
index 32aefda..8afde89 100644
--- a/linden/indra/newview/installers/windows/installer_template.nsi
+++ b/linden/indra/newview/installers/windows/installer_template.nsi
@@ -51,8 +51,8 @@ Name ${INSTNAME}
51SubCaption 0 $(LicenseSubTitleSetup) ; override "license agreement" text 51SubCaption 0 $(LicenseSubTitleSetup) ; override "license agreement" text
52 52
53BrandingText " " ; bottom of window text 53BrandingText " " ; bottom of window text
54Icon %%SOURCE%%\installers\windows\install_icon.ico 54Icon %%SOURCE%%\res\imp_icon.ico
55UninstallIcon %%SOURCE%%\installers\windows\uninstall_icon.ico 55UninstallIcon %%SOURCE%%\res\imp_icon.ico
56WindowIcon on ; show our icon in left corner 56WindowIcon on ; show our icon in left corner
57BGGradient off ; no big background window 57BGGradient off ; no big background window
58CRCCheck on ; make sure CRC is OK 58CRCCheck on ; make sure CRC is OK
diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py
index 8510dc4..d7acfea 100755
--- a/linden/indra/newview/viewer_manifest.py
+++ b/linden/indra/newview/viewer_manifest.py
@@ -30,6 +30,13 @@
30# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, 30# WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
31# COMPLETENESS OR PERFORMANCE. 31# COMPLETENESS OR PERFORMANCE.
32# $/LicenseInfo$ 32# $/LicenseInfo$
33
34# DO NOT RUN THIS FILE DIRECTLY
35# Instead, run develop.py with "configure -DPACKAGE:BOOL=ON" e.g.:
36# develop.py -G vc80 configure -DPACKAGE:BOOL=ON
37# to generate the "package" project in Visual Studio 2005
38# Note: as of Imprudence 1.3, this defaults to on for Windows
39
33import sys 40import sys
34import os.path 41import os.path
35import re 42import re
@@ -68,37 +75,33 @@ class ViewerManifest(LLManifest):
68 75
69 # Include our fonts 76 # Include our fonts
70 if self.prefix(src="fonts"): 77 if self.prefix(src="fonts"):
71 self.path("LiberationSans-Bold.ttf") 78 self.path("*.ttf")
72 self.path("LiberationSans-Regular.ttf")
73 self.path("VeraMono.ttf")
74 self.path("*.txt") 79 self.path("*.txt")
75 self.end_prefix("fonts") 80 self.end_prefix("fonts")
76 81
77 # skins 82 # skins
78 if self.prefix(src="skins"): 83 if self.prefix(src="skins"):
79 self.path("paths.xml") 84 self.path("paths.xml")
80 85 # include the entire textures directory recursively
81 # include the entire textures directory recursively 86 if self.prefix(src="*/textures"):
82 if self.prefix(src="*/textures"): 87 self.path("*.tga")
83 self.path("*.tga") 88 self.path("*.j2c")
84 self.path("*.j2c") 89 self.path("*.jpg")
85 self.path("*.jpg") 90 self.path("*.png")
86 self.path("*.png") 91 self.path("textures.xml")
87 self.path("textures.xml") 92 self.end_prefix("*/textures")
88 self.end_prefix("*/textures") 93 self.path("*/xui/*/*.xml")
89 94 self.path("*/*.xml")
90 self.path("*/xui/*/*.xml")
91 self.path("*/*.xml")
92
93 # Local HTML files (e.g. loading screen)
94 if self.prefix(src="*/html"):
95 self.path("*.png")
96 self.path("*/*/*.html")
97 self.path("*/*/*.gif")
98 self.end_prefix("*/html")
99 95
100 self.end_prefix("skins") 96 # Local HTML files (e.g. loading screen)
101 97 if self.prefix(src="*/html"):
98 self.path("*.png")
99 self.path("*/*/*.html")
100 self.path("*/*/*.gif")
101 self.end_prefix("*/html")
102 self.end_prefix("skins")
103
104 # Files in the newview/ directory
102 self.path("gpu_table.txt") 105 self.path("gpu_table.txt")
103 106
104 107
@@ -140,7 +143,7 @@ class ViewerManifest(LLManifest):
140 def channel(self): 143 def channel(self):
141 return self.args['channel'] 144 return self.args['channel']
142 def channel_unique(self): 145 def channel_unique(self):
143 return self.channel().replace("Second Life", "").strip() 146 return self.channel().replace("Imprudence", "").strip()
144 def channel_oneword(self): 147 def channel_oneword(self):
145 return "".join(self.channel_unique().split()) 148 return "".join(self.channel_unique().split())
146 def channel_lowerword(self): 149 def channel_lowerword(self):
@@ -236,16 +239,16 @@ class WindowsManifest(ViewerManifest):
236 self.end_prefix() 239 self.end_prefix()
237 240
238 # The config file name needs to match the exe's name. 241 # The config file name needs to match the exe's name.
239 self.path(src="%s/secondlife-bin.exe.config" % self.args['configuration'], dst=self.final_exe() + ".config") 242 self.path(src="%s/imprudence-bin.exe.config" % self.args['configuration'], dst=self.final_exe() + ".config")
240 243
241 # We need this one too, so that llkdu loads at runtime - DEV-41194 244 # We need this one too, so that llkdu loads at runtime - DEV-41194
242 self.path(src="%s/secondlife-bin.exe.config" % self.args['configuration'], dst="llkdu.dll.2.config") 245 self.path(src="%s/imprudence-bin.exe.config" % self.args['configuration'], dst="llkdu.dll.2.config")
243 246
244 # We need this one too, so that win_crash_logger.exe loads at runtime - DEV-19004 247 # We need this one too, so that win_crash_logger.exe loads at runtime - DEV-19004
245 self.path(src="%s/secondlife-bin.exe.config" % self.args['configuration'], dst="win_crash_logger.exe.config") 248 self.path(src="%s/imprudence-bin.exe.config" % self.args['configuration'], dst="win_crash_logger.exe.config")
246 249
247 # same thing for auto-updater. 250 # same thing for auto-updater.
248 self.path(src="%s/secondlife-bin.exe.config" % self.args['configuration'], dst="updater.exe.config") 251 self.path(src="%s/imprudence-bin.exe.config" % self.args['configuration'], dst="updater.exe.config")
249 252
250 # Mozilla runtime DLLs (CP) 253 # Mozilla runtime DLLs (CP)
251 if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): 254 if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""):
@@ -276,9 +279,9 @@ class WindowsManifest(ViewerManifest):
276 # Mozilla hack to get it to accept newer versions of msvc*80.dll than are listed in manifest 279 # Mozilla hack to get it to accept newer versions of msvc*80.dll than are listed in manifest
277 # necessary as llmozlib2-vc80.lib refers to an old version of msvc*80.dll - can be removed when new version of llmozlib is built - Nyx 280 # necessary as llmozlib2-vc80.lib refers to an old version of msvc*80.dll - can be removed when new version of llmozlib is built - Nyx
278 # Vivox runtimes 281 # Vivox runtimes
279 if self.prefix(src="vivox-runtime/i686-win32", dst=""): 282 #if self.prefix(src="vivox-runtime/i686-win32", dst=""):
280 # self.path("alut.dll") 283 # self.path("alut.dll")
281 self.path("wrap_oal.dll") 284 # self.path("wrap_oal.dll")
282 285
283 # self.path("SLVoice.exe") 286 # self.path("SLVoice.exe")
284 # self.path("SLVoiceAgent.exe") 287 # self.path("SLVoiceAgent.exe")
@@ -289,8 +292,65 @@ class WindowsManifest(ViewerManifest):
289 # self.path("vivoxsdk.dll") 292 # self.path("vivoxsdk.dll")
290 # self.path("ortp.dll") 293 # self.path("ortp.dll")
291 294
295 # self.end_prefix()
296
297 # Gstreamer plugins
298 if self.prefix(src="lib/gstreamer-plugins", dst=""):
299 self.path("*.dll", dst="lib/gstreamer-plugins/*.dll")
292 self.end_prefix() 300 self.end_prefix()
293 301
302 # Gstreamer libs
303 if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""):
304 self.path("iconv.dll")
305 self.path("libxml2.dll")
306 self.path("libcairo-2.dll")
307 self.path("libgio-2.0-0.dll")
308 self.path("libglib-2.0-0.dll")
309 self.path("libgmodule-2.0-0.dll")
310 self.path("libgobject-2.0-0.dll")
311 self.path("libgthread-2.0-0.dll")
312 self.path("charset.dll")
313 self.path("intl.dll")
314 self.path("libgcrypt-11.dll")
315 self.path("libgnutls-26.dll")
316 self.path("libgpg-error-0.dll")
317 self.path("libgstapp.dll")
318 self.path("libgstaudio.dll")
319 self.path("libgstbase-0.10.dll")
320 self.path("libgstcdda.dll")
321 self.path("libgstcontroller-0.10.dll")
322 self.path("libgstdataprotocol-0.10.dll")
323 self.path("libgstdshow.dll")
324 self.path("libgstfft.dll")
325 self.path("libgstinterfaces.dll")
326 self.path("libgstnet-0.10.dll")
327 self.path("libgstnetbuffer.dll")
328 self.path("libgstpbutils.dll")
329 self.path("libgstreamer-0.10.dll")
330 self.path("libgstriff.dll")
331 self.path("libgstrtp.dll")
332 self.path("libgstrtsp.dll")
333 self.path("libgstsdp.dll")
334 self.path("libgsttag.dll")
335 self.path("libgstvideo.dll")
336 self.path("libjpeg.dll")
337 self.path("libmp3lame-0.dll")
338 self.path("libneon-27.dll")
339 self.path("libogg-0.dll")
340 self.path("liboil-0.3-0.dll")
341 self.path("libopenjpeg-2.dll")
342 self.path("libpng12-0.dll")
343 self.path("libschroedinger-1.0-0.dll")
344 self.path("libspeex-1.dll")
345 self.path("libtheora-0.dll")
346 self.path("libvorbis-0.dll")
347 self.path("libvorbisenc-2.dll")
348 self.path("libxml2-2.dll")
349 self.path("glew32.dll")
350 self.path("xvidcore.dll")
351 self.path("zlib1.dll")
352 self.end_prefix()
353
294# # pull in the crash logger and updater from other projects 354# # pull in the crash logger and updater from other projects
295# self.path(src=self.find_existing_file( # tag:"crash-logger" here as a cue to the exporter 355# self.path(src=self.find_existing_file( # tag:"crash-logger" here as a cue to the exporter
296# "../win_crash_logger/debug/windows-crash-logger.exe", 356# "../win_crash_logger/debug/windows-crash-logger.exe",
@@ -355,9 +415,9 @@ class WindowsManifest(ViewerManifest):
355 def package_finish(self): 415 def package_finish(self):
356 # a standard map of strings for replacing in the templates 416 # a standard map of strings for replacing in the templates
357 substitution_strings = { 417 substitution_strings = {
358 'version' : '.'.join(self.args['version']), 418 'version' : '.'.join(self.args['version']).replace(' ', '_'),
359 'version_short' : '.'.join(self.args['version'][:-1]), 419 'version_short' : '.'.join(self.args['version'][:-1]).replace(' ', '_'),
360 'version_dashes' : '-'.join(self.args['version']), 420 'version_dashes' : '-'.join(self.args['version']).replace(' ', '_'),
361 'final_exe' : self.final_exe(), 421 'final_exe' : self.final_exe(),
362 'grid':self.args['grid'], 422 'grid':self.args['grid'],
363 'grid_caps':self.args['grid'].upper(), 423 'grid_caps':self.args['grid'].upper(),