[pypy-commit] pypy default: Trying out a different fix for b366d0104c42... Hard to test
arigo
noreply at buildbot.pypy.org
Fri Feb 1 09:54:40 CET 2013
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r60804:09417d729a67
Date: 2013-02-01 09:54 +0100
http://bitbucket.org/pypy/pypy/changeset/09417d729a67/
Log: Trying out a different fix for b366d0104c42... Hard to test
diff --git a/rpython/translator/platform/__init__.py b/rpython/translator/platform/__init__.py
--- a/rpython/translator/platform/__init__.py
+++ b/rpython/translator/platform/__init__.py
@@ -53,9 +53,18 @@
ofiles = self._compile_o_files(cfiles, eci, standalone)
return self._finish_linking(ofiles, eci, outputfilename, standalone)
+ def _all_cfiles(self, cfiles, eci):
+ seen = set()
+ result = []
+ for cfile in list(cfiles) + list(eci.separate_module_files):
+ cfile = py.path.local(cfile)
+ if cfile not in seen:
+ seen.add(cfile)
+ result.append(cfile)
+ return result
+
def _compile_o_files(self, cfiles, eci, standalone=True):
- cfiles = [py.path.local(f) for f in cfiles]
- cfiles += [py.path.local(f) for f in eci.separate_module_files]
+ cfiles = self._all_cfiles(cfiles, eci)
compile_args = self._compile_args_from_eci(eci, standalone)
ofiles = []
for cfile in cfiles:
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
@@ -84,8 +84,7 @@
def gen_makefile(self, cfiles, eci, exe_name=None, path=None,
shared=False):
- cfiles = [py.path.local(f) for f in cfiles]
- cfiles += [py.path.local(f) for f in eci.separate_module_files]
+ cfiles = self._all_cfiles(cfiles, eci)
if path is None:
path = cfiles[0].dirpath()
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
@@ -248,8 +248,7 @@
def gen_makefile(self, cfiles, eci, exe_name=None, path=None,
shared=False):
- cfiles = [py.path.local(f) for f in cfiles]
- cfiles += [py.path.local(f) for f in eci.separate_module_files]
+ cfiles = self._all_cfiles(cfiles, eci)
if path is None:
path = cfiles[0].dirpath()
More information about the pypy-commit
mailing list