Index: pylib/gyp/generator/make.py |
diff --git a/pylib/gyp/generator/make.py b/pylib/gyp/generator/make.py |
index b7da768fb33f5a8e12ec6ffa4c20e2fc6c1434e8..5fd22c57c91c1bf4894b603354c92602f40ef584 100644 |
--- a/pylib/gyp/generator/make.py |
+++ b/pylib/gyp/generator/make.py |
@@ -21,6 +21,8 @@ |
# toplevel Makefile. It may make sense to generate some .mk files on |
# the side to keep the the files readable. |
+from __future__ import print_function |
+ |
import os |
import re |
import sys |
@@ -645,7 +647,7 @@ def _ValidateSourcesForOSX(spec, all_sources): |
basenames.setdefault(basename, []).append(source) |
error = '' |
- for basename, files in basenames.iteritems(): |
+ for basename, files in basenames.items(): |
if len(files) > 1: |
error += ' %s: %s\n' % (basename, ' '.join(files)) |
@@ -793,7 +795,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD |
gyp.xcode_emulation.MacPrefixHeader( |
self.xcode_settings, lambda p: Sourceify(self.Absolutify(p)), |
self.Pchify)) |
- sources = filter(Compilable, all_sources) |
+ sources = [x for x in all_sources if Compilable(x)] |
if sources: |
self.WriteLn(SHARED_HEADER_SUFFIX_RULES_COMMENT1) |
extensions = set([os.path.splitext(s)[1] for s in sources]) |
@@ -922,7 +924,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD |
'%s%s' |
% (name, cd_action, command)) |
self.WriteLn() |
- outputs = map(self.Absolutify, outputs) |
+ outputs = [self.Absolutify(o) for o in outputs] |
# The makefile rules are all relative to the top dir, but the gyp actions |
# are defined relative to their containing dir. This replaces the obj |
# variable for the action rule with an absolute version so that the output |
@@ -1012,7 +1014,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD |
outputs = [gyp.xcode_emulation.ExpandEnvVars(o, env) for o in outputs] |
inputs = [gyp.xcode_emulation.ExpandEnvVars(i, env) for i in inputs] |
- outputs = map(self.Absolutify, outputs) |
+ outputs = [self.Absolutify(o) for o in outputs] |
all_outputs += outputs |
# Only write the 'obj' and 'builddir' rules for the "primary" output |
# (:1); it's superfluous for the "extra outputs", and this avoids |
@@ -1210,11 +1212,11 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD |
self.WriteList(cflags_objcc, 'CFLAGS_OBJCC_%s' % configname) |
includes = config.get('include_dirs') |
if includes: |
- includes = map(Sourceify, map(self.Absolutify, includes)) |
+ includes = [Sourceify(self.Absolutify(include)) for include in includes] |
self.WriteList(includes, 'INCS_%s' % configname, prefix='-I') |
compilable = filter(Compilable, sources) |
- objs = map(self.Objectify, map(self.Absolutify, map(Target, compilable))) |
+ objs = [self.Objectify(self.Absolutify(Target(x))) for x in compilable] |
self.WriteList(objs, 'OBJS') |
for obj in objs: |
@@ -1286,7 +1288,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD |
# If there are any object files in our input file list, link them into our |
# output. |
- extra_link_deps += filter(Linkable, sources) |
+ extra_link_deps += [source for source in sources if Linkable(source)] |
self.WriteLn() |
@@ -1351,8 +1353,8 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD |
elif self.type == 'none': |
target = '%s.stamp' % target |
elif self.type != 'executable': |
- print ("ERROR: What output file should be generated?", |
- "type", self.type, "target", target) |
+ print(("ERROR: What output file should be generated?", |
+ "type", self.type, "target", target)) |
target_prefix = spec.get('product_prefix', target_prefix) |
target = spec.get('product_name', target) |
@@ -1516,9 +1518,9 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD |
# Postbuilds expect to be run in the gyp file's directory, so insert an |
# implicit postbuild to cd to there. |
postbuilds.insert(0, gyp.common.EncodePOSIXShellList(['cd', self.path])) |
- for i in xrange(len(postbuilds)): |
- if not postbuilds[i].startswith('$'): |
- postbuilds[i] = EscapeShellArgument(postbuilds[i]) |
+ for i, postbuild in enumerate(postbuilds): |
+ if not postbuild.startswith('$'): |
+ postbuilds[i] = EscapeShellArgument(postbuild) |
self.WriteLn('%s: builddir := $(abs_builddir)' % QuoteSpaces(self.output)) |
self.WriteLn('%s: POSTBUILDS := %s' % ( |
QuoteSpaces(self.output), ' '.join(postbuilds))) |
@@ -1608,7 +1610,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD |
self.WriteDoCmd([self.output_binary], deps, 'touch', part_of_all, |
postbuilds=postbuilds) |
else: |
- print "WARNING: no output for", self.type, target |
+ print("WARNING: no output for", self.type, target) |
# Add an alias for each target (if there are any outputs). |
# Installable target aliases are created below. |
@@ -1715,7 +1717,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD |
output is just a name to run the rule |
command: (optional) command name to generate unambiguous labels |
""" |
- outputs = map(QuoteSpaces, outputs) |
+ outputs = [QuoteSpaces(o) for o in outputs] |
inputs = map(QuoteSpaces, inputs) |
if comment: |
@@ -1957,7 +1959,7 @@ def PerformBuild(data, configurations, params): |
if options.toplevel_dir and options.toplevel_dir != '.': |
arguments += '-C', options.toplevel_dir |
arguments.append('BUILDTYPE=' + config) |
- print 'Building [%s]: %s' % (config, arguments) |
+ print('Building [%s]: %s' % (config, arguments)) |
subprocess.check_call(arguments) |