Author: Matti Picus <matti.pi...@gmail.com> Branch: precompiled-headers Changeset: r68990:48a44cf98eff Date: 2014-01-29 13:35 +0200 http://bitbucket.org/pypy/pypy/changeset/48a44cf98eff/
Log: add NMake specific Definition class that does not fix backslashes diff --git a/rpython/translator/platform/posix.py b/rpython/translator/platform/posix.py --- a/rpython/translator/platform/posix.py +++ b/rpython/translator/platform/posix.py @@ -202,8 +202,7 @@ def write_list(prefix, lst): lst = lst or [''] for i, fn in enumerate(lst): - if sys.platform != 'win32': - fn = fn.replace('\\', '\\\\') + fn = fn.replace('\\', '\\\\') print >> f, prefix, fn, if i < len(lst)-1: print >> f, '\\' diff --git a/rpython/translator/platform/windows.py b/rpython/translator/platform/windows.py --- a/rpython/translator/platform/windows.py +++ b/rpython/translator/platform/windows.py @@ -392,6 +392,25 @@ self._handle_error(returncode, stdout, stderr, path.join('make')) +class WinDefinition(posix.Definition): + def write(self, f): + def write_list(prefix, lst): + lst = lst or [''] + for i, fn in enumerate(lst): + print >> f, prefix, fn, + if i < len(lst)-1: + print >> f, '\\' + else: + print >> f + prefix = ' ' * len(prefix) + name, value = self.name, self.value + if isinstance(value, str): + f.write('%s = %s\n' % (name, value)) + else: + write_list('%s =' % (name,), value) + f.write('\n') + + class NMakefile(posix.GnuMakefile): def write(self, out=None): # nmake expands macros when it parses rules. @@ -410,6 +429,14 @@ if out is None: f.close() + def definition(self, name, value): + defs = self.defs + defn = WinDefinition(name, value) + if name in defs: + self.lines[defs[name]] = defn + else: + defs[name] = len(self.lines) + self.lines.append(defn) class MingwPlatform(posix.BasePosix): name = 'mingw32' _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit