X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=scons%2Fcustom.py;h=2fad8f5b6d4398dfb0fe18c771579b8194f71192;hb=97456e847e090577b67df7ea0a49183fc5e77462;hp=955247ccf2045424c32bffb19429a964a59d1398;hpb=8b66d18a3b4f6d6a4f0ea9d71459dac68e5e0295;p=mesa.git diff --git a/scons/custom.py b/scons/custom.py index 955247ccf20..2fad8f5b6d4 100644 --- a/scons/custom.py +++ b/scons/custom.py @@ -48,7 +48,12 @@ import source_list # a path directly. We want to support both, so we need to detect the SCons version, # for which no API is provided by SCons 8-P -scons_version = tuple(map(int, SCons.__version__.split('.'))) +# Scons version string has consistently been in this format: +# MajorVersion.MinorVersion.Patch[.alpha/beta.yyyymmdd] +# so this formula should cover all versions regardless of type +# stable, alpha or beta. +# For simplicity alpha and beta flags are removed. +scons_version = tuple(map(int, SCons.__version__.split('.')[:3])) def quietCommandLines(env): # Quiet command lines @@ -113,7 +118,7 @@ def python_scan(node, env, path): finder = modulefinder.ModuleFinder(path=path) finder.run_script(node.abspath) results = [] - for name, mod in finder.modules.iteritems(): + for name, mod in finder.modules.items(): if mod.__file__ is None: continue assert os.path.exists(mod.__file__) @@ -189,7 +194,7 @@ def _pkg_check_modules(env, name, modules): except OSError: return prefix = name + '_' - for flag_name, flag_value in flags.iteritems(): + for flag_name, flag_value in flags.items(): assert '_' not in flag_name env[prefix + flag_name] = flag_value @@ -222,7 +227,7 @@ def pkg_use_modules(env, names): raise Exception('Attempt to use unavailable module %s' % name) flags = {} - for flag_name, flag_value in env.Dictionary().iteritems(): + for flag_name, flag_value in env.Dictionary().items(): if flag_name.startswith(prefix): flag_name = flag_name[len(prefix):] if '_' not in flag_name: @@ -257,12 +262,16 @@ def parse_source_list(env, filename, names=None): sym_table = parser.parse(src.abspath) if names: - if isinstance(names, basestring): - names = [names] + if sys.version_info[0] >= 3: + if isinstance(names, str): + names = [names] + else: + if isinstance(names, basestring): + names = [names] symbols = names else: - symbols = sym_table.keys() + symbols = list(sym_table.keys()) # convert the symbol table to source lists src_lists = {}