aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/SConstruct
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:44:48 -0500
committerJacek Antonelli2008-08-15 23:44:48 -0500
commit9b4f54c826ffa4f94efa866068c9d6ecdfb4b424 (patch)
tree2f8ae193ab487088962e628f1ee9dee2f5901f01 /linden/indra/SConstruct
parentSecond Life viewer sources 1.13.2.12 (diff)
downloadmeta-impy-9b4f54c826ffa4f94efa866068c9d6ecdfb4b424.zip
meta-impy-9b4f54c826ffa4f94efa866068c9d6ecdfb4b424.tar.gz
meta-impy-9b4f54c826ffa4f94efa866068c9d6ecdfb4b424.tar.bz2
meta-impy-9b4f54c826ffa4f94efa866068c9d6ecdfb4b424.tar.xz
Second Life viewer sources 1.13.2.15
Diffstat (limited to 'linden/indra/SConstruct')
-rw-r--r--linden/indra/SConstruct21
1 files changed, 16 insertions, 5 deletions
diff --git a/linden/indra/SConstruct b/linden/indra/SConstruct
index d9c53b9..f94f661 100644
--- a/linden/indra/SConstruct
+++ b/linden/indra/SConstruct
@@ -57,7 +57,7 @@ opts.Add(EnumOption('DISTCC', 'Enabled distcc', 'yes',
57opts.Add(EnumOption('COLORGCC', 'Enabled colorgcc', 'yes', 57opts.Add(EnumOption('COLORGCC', 'Enabled colorgcc', 'yes',
58 allowed_values=('yes', 'no'))) 58 allowed_values=('yes', 'no')))
59opts.Add(EnumOption('GRID', 'Client package\'s default grid', 'default', 59opts.Add(EnumOption('GRID', 'Client package\'s default grid', 'default',
60 allowed_values=('default', 'aditi', 'agni', 'dmz', 'durga', 'ganga', 'shakti', 'siva', 'soma', 'uma', 'vaak'))) 60 allowed_values=('default', 'aditi', 'agni', 'dmz', 'durga', 'firstlook', 'ganga', 'shakti', 'siva', 'soma', 'uma', 'vaak')))
61opts.Add(EnumOption('OPENSOURCE', 'Build using only non-proprietary dependencies', 61opts.Add(EnumOption('OPENSOURCE', 'Build using only non-proprietary dependencies',
62 'yes',# OPENSOURCE: do not edit this line 62 'yes',# OPENSOURCE: do not edit this line
63 allowed_values=('yes', 'no'))) 63 allowed_values=('yes', 'no')))
@@ -179,7 +179,6 @@ for build_target in targets:
179 if platform == 'linux': 179 if platform == 'linux':
180 # Linux-only flags 180 # Linux-only flags
181 flags += '-DLL_LINUX=1 ' 181 flags += '-DLL_LINUX=1 '
182 system_link_flags += '-Wl,--version-script=newview/linux_tools/hidesymbols.ver '
183 if build_target == 'client': 182 if build_target == 'client':
184 flags += '-DAPPID=secondlife -DLL_SDL=1 -DLL_X11=1 ' 183 flags += '-DAPPID=secondlife -DLL_SDL=1 -DLL_X11=1 '
185 flags += '-DLL_GTK=1 ' 184 flags += '-DLL_GTK=1 '
@@ -210,6 +209,17 @@ for build_target in targets:
210 # logger backtraces deteriorates. 209 # logger backtraces deteriorates.
211 strip_cmd = 'strip -S -o $TARGET $SOURCE' 210 strip_cmd = 'strip -S -o $TARGET $SOURCE'
212 211
212 # hidesyms_cmd is something which copies an executable while 'hiding'
213 # all of its exposed symbols except a very few desired ones. This is
214 # used mainly to hide the symbols of the many common libraries we
215 # static-link, which otherwise cause hard-to-trace fatal crashes due
216 # to clashes in the run-time symbol namespace.
217 if platform == 'linux':
218 exposed_symbols_file = 'newview/linux_tools/exposed-symbols.txt'
219 hidesyms_cmd = 'objcopy --keep-global-symbols ' + exposed_symbols_file + ' $SOURCE $TARGET'
220 else:
221 hidesyms_cmd = 'cp -f $SOURCE $TARGET'
222
213 if build_target != 'client': 223 if build_target != 'client':
214 gcc_bin = 'g++-3.3' 224 gcc_bin = 'g++-3.3'
215 225
@@ -366,7 +376,8 @@ for build_target in targets:
366 output_crashlogger_bin = 'linux_crash_logger/linux-crash-logger-' + arch + '-bin' 376 output_crashlogger_bin = 'linux_crash_logger/linux-crash-logger-' + arch + '-bin'
367 external_libs = net_external_libs + [ 'db-4.2', 'gtk-x11-2.0' ] 377 external_libs = net_external_libs + [ 'db-4.2', 'gtk-x11-2.0' ]
368 internal_libs = [ 'llvfs', 'llmath', 'llcommon' ] 378 internal_libs = [ 'llvfs', 'llmath', 'llcommon' ]
369 create_executable(output_crashlogger_bin, 'linux_crash_logger', internal_libs + external_libs) 379 create_executable(output_crashlogger_bin + '-globalsyms', 'linux_crash_logger', internal_libs + external_libs)
380 env.Command(output_crashlogger_bin, output_crashlogger_bin + '-globalsyms', hidesyms_cmd)
370 381
371 create_static_module('llaudio') 382 create_static_module('llaudio')
372 create_static_module('llmedia') 383 create_static_module('llmedia')
@@ -389,7 +400,8 @@ for build_target in targets:
389 'llcharacter', 'llaudio', 'llui', 'llxml', 400 'llcharacter', 'llaudio', 'llui', 'llxml',
390 'llmessage', 'llvfs', 'llmath', 'llcommon' ] 401 'llmessage', 'llvfs', 'llmath', 'llcommon' ]
391 402
392 create_executable(output_bin, 'newview', internal_libs + external_libs) 403 create_executable(output_bin + '-globalsyms', 'newview', internal_libs + external_libs)
404 env.Command(output_bin, output_bin + '-globalsyms', hidesyms_cmd)
393 405
394 if buildtype == 'releasefordownload': 406 if buildtype == 'releasefordownload':
395 407
@@ -398,7 +410,6 @@ for build_target in targets:
398 ####################### 410 #######################
399 411
400 if platform == 'linux': 412 if platform == 'linux':
401
402 env.Command(output_bin + '-stripped', output_bin, strip_cmd) 413 env.Command(output_bin + '-stripped', output_bin, strip_cmd)
403 env.Command(output_crashlogger_bin + '-stripped', output_crashlogger_bin, strip_cmd) 414 env.Command(output_crashlogger_bin + '-stripped', output_crashlogger_bin, strip_cmd)
404 manifest_file = 'linux_tools/client-manifest-' + arch 415 manifest_file = 'linux_tools/client-manifest-' + arch