| Index: SConstruct
|
| ===================================================================
|
| --- SConstruct (revision 353)
|
| +++ SConstruct (working copy)
|
| @@ -30,7 +30,7 @@
|
| import sys
|
| import os
|
| from os.path import join, dirname, abspath
|
| -from types import DictType
|
| +from types import DictType, StringTypes
|
| root_dir = dirname(File('SConstruct').rfile().abspath)
|
| sys.path.append(join(root_dir, 'tools'))
|
| import js2c, utils
|
| @@ -138,7 +138,7 @@
|
| 'gcc': {
|
| 'all': {
|
| 'WARNINGFLAGS': ['-Werror']
|
| - }
|
| + }
|
| },
|
| 'msvc': {
|
| 'all': {
|
| @@ -313,7 +313,7 @@
|
| result.Add('mode', 'compilation mode (debug, release)', 'release')
|
| result.Add('sample', 'build sample (shell, process)', '')
|
| result.Add('env', 'override environment settings (NAME1:value1,NAME2:value2)', '')
|
| - for (name, option) in SIMPLE_OPTIONS.items():
|
| + for (name, option) in SIMPLE_OPTIONS.iteritems():
|
| help = '%s (%s)' % (name, ", ".join(option['values']))
|
| result.Add(name, help, option.get('default'))
|
| return result
|
| @@ -337,7 +337,7 @@
|
| return False
|
| if not IsLegal(env, 'sample', ["shell", "process"]):
|
| return False
|
| - for (name, option) in SIMPLE_OPTIONS.items():
|
| + for (name, option) in SIMPLE_OPTIONS.iteritems():
|
| if (not option.get('default')) and (name not in ARGUMENTS):
|
| message = ("A value for option %s must be specified (%s)." %
|
| (name, ", ".join(option['values'])))
|
| @@ -359,7 +359,7 @@
|
| self.samples = samples
|
| self.use_snapshot = (options['snapshot'] == 'on')
|
| self.flags = None
|
| -
|
| +
|
| def AddRelevantFlags(self, initial, flags):
|
| result = initial.copy()
|
| self.AppendFlags(result, flags.get('all'))
|
| @@ -369,22 +369,24 @@
|
| value = self.options[option]
|
| self.AppendFlags(result, flags[toolchain].get(option + ':' + value))
|
| return result
|
| -
|
| +
|
| def GetRelevantSources(self, source):
|
| result = []
|
| result += source.get('all', [])
|
| - for (name, value) in self.options.items():
|
| + for (name, value) in self.options.iteritems():
|
| result += source.get(name + ':' + value, [])
|
| return sorted(result)
|
|
|
| def AppendFlags(self, options, added):
|
| if not added:
|
| return
|
| - for (key, value) in added.items():
|
| + for (key, value) in added.iteritems():
|
| if not key in options:
|
| options[key] = value
|
| else:
|
| - options[key] = options[key] + value
|
| + prefix = options[key]
|
| + if isinstance(prefix, StringTypes): prefix = prefix.split()
|
| + options[key] = prefix + value
|
|
|
| def ConfigureObject(self, env, input, **kw):
|
| if self.options['library'] == 'static':
|
| @@ -433,7 +435,7 @@
|
| v8_flags = context.AddRelevantFlags(library_flags, V8_EXTRA_FLAGS)
|
| jscre_flags = context.AddRelevantFlags(library_flags, JSCRE_EXTRA_FLAGS)
|
| dtoa_flags = context.AddRelevantFlags(library_flags, DTOA_EXTRA_FLAGS)
|
| - cctest_flags = context.AddRelevantFlags(v8_flags, CCTEST_EXTRA_FLAGS)
|
| + cctest_flags = context.AddRelevantFlags(v8_flags, CCTEST_EXTRA_FLAGS)
|
| sample_flags = context.AddRelevantFlags(os.environ, SAMPLE_FLAGS)
|
|
|
| context.flags = {
|
| @@ -443,7 +445,7 @@
|
| 'cctest': cctest_flags,
|
| 'sample': sample_flags
|
| }
|
| -
|
| +
|
| target_id = mode
|
| suffix = SUFFIXES[target_id]
|
| library_name = 'v8' + suffix
|
|
|