fixed building using scons with python3

I broke python 3 builds by using py2 specific dict functions in
commit 98846b39ee
Fixed with functions in compat.py
This commit is contained in:
Ibrahn Sahir 2018-05-28 18:41:16 +01:00
parent 38284bc6da
commit 27310974e0
2 changed files with 8 additions and 4 deletions

View file

@ -16,6 +16,8 @@ if sys.version_info < (3,):
return x return x
def iteritems(d): def iteritems(d):
return d.iteritems() return d.iteritems()
def itervalues(d):
return d.itervalues()
def escape_string(s): def escape_string(s):
if isinstance(s, unicode): if isinstance(s, unicode):
s = s.encode('ascii') s = s.encode('ascii')
@ -44,6 +46,8 @@ else:
return codecs.utf_8_decode(x)[0] return codecs.utf_8_decode(x)[0]
def iteritems(d): def iteritems(d):
return iter(d.items()) return iter(d.items())
def itervalues(d):
return iter(d.values())
def charcode_to_c_escapes(c): def charcode_to_c_escapes(c):
rev_result = [] rev_result = []
while c >= 256: while c >= 256:

View file

@ -1,5 +1,5 @@
import os import os
from compat import iteritems, open_utf8, escape_string from compat import iteritems, itervalues, open_utf8, escape_string
def add_source_files(self, sources, filetype, lib_env=None, shared=False): def add_source_files(self, sources, filetype, lib_env=None, shared=False):
@ -661,7 +661,7 @@ def make_license_header(target, source, env):
reader.next_line() reader.next_line()
data_list = [] data_list = []
for project in projects.itervalues(): for project in itervalues(projects):
for part in project: for part in project:
part["file_index"] = len(data_list) part["file_index"] = len(data_list)
data_list += part["Files"] data_list += part["Files"]
@ -703,7 +703,7 @@ def make_license_header(target, source, env):
f.write("const ComponentCopyrightPart COPYRIGHT_PROJECT_PARTS[] = {\n") f.write("const ComponentCopyrightPart COPYRIGHT_PROJECT_PARTS[] = {\n")
part_index = 0 part_index = 0
part_indexes = {} part_indexes = {}
for project_name, project in projects.iteritems(): for project_name, project in iteritems(projects):
part_indexes[project_name] = part_index part_indexes[project_name] = part_index
for part in project: for part in project:
f.write("\t{ \"" + escape_string(part["License"][0]) + "\", " f.write("\t{ \"" + escape_string(part["License"][0]) + "\", "
@ -717,7 +717,7 @@ def make_license_header(target, source, env):
f.write("const int COPYRIGHT_INFO_COUNT = " + str(len(projects)) + ";\n") f.write("const int COPYRIGHT_INFO_COUNT = " + str(len(projects)) + ";\n")
f.write("const ComponentCopyright COPYRIGHT_INFO[] = {\n") f.write("const ComponentCopyright COPYRIGHT_INFO[] = {\n")
for project_name, project in projects.iteritems(): for project_name, project in iteritems(projects):
f.write("\t{ \"" + escape_string(project_name) + "\", " f.write("\t{ \"" + escape_string(project_name) + "\", "
+ "&COPYRIGHT_PROJECT_PARTS[" + str(part_indexes[project_name]) + "], " + "&COPYRIGHT_PROJECT_PARTS[" + str(part_indexes[project_name]) + "], "
+ str(len(project)) + " },\n") + str(len(project)) + " },\n")