[pypy-commit] pypy precompiled-headers: explicitly list files not able to use precompiled headers (module files)
mattip
noreply at buildbot.pypy.org
Tue Feb 4 06:02:26 CET 2014
Author: Matti Picus <matti.picus at gmail.com>
Branch: precompiled-headers
Changeset: r69078:291b3f0d5243
Date: 2014-02-03 23:56 +0200
http://bitbucket.org/pypy/pypy/changeset/291b3f0d5243/
Log: explicitly list files not able to use precompiled headers (module
files)
diff --git a/rpython/translator/c/genc.py b/rpython/translator/c/genc.py
--- a/rpython/translator/c/genc.py
+++ b/rpython/translator/c/genc.py
@@ -377,14 +377,16 @@
return self.executable_name
def gen_makefile(self, targetdir, exe_name=None, headers_to_precompile=[]):
- cfiles = [self.c_source_filename] + self.extrafiles + list(self.eci.separate_module_files)
- xxx
+ module_files = self.eventually_copy(self.eci.separate_module_files)
+ self.eci.separate_module_files = []
+ cfiles = [self.c_source_filename] + self.extrafiles + list(module_files)
if exe_name is not None:
exe_name = targetdir.join(exe_name)
mk = self.translator.platform.gen_makefile(
cfiles, self.eci,
path=targetdir, exe_name=exe_name,
headers_to_precompile=headers_to_precompile,
+ no_precompile_cfiles = module_files,
shared=self.config.translation.shared)
if self.has_profopt():
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
@@ -100,7 +100,8 @@
return ExecutionResult(returncode, stdout, stderr)
def gen_makefile(self, cfiles, eci, exe_name=None, path=None,
- shared=False, headers_to_precompile=[]):
+ shared=False, headers_to_precompile=[],
+ no_precompile_cfiles = []):
raise NotImplementedError("Pure abstract baseclass")
def __repr__(self):
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
@@ -83,7 +83,8 @@
return [entry[2:] for entry in out.split()]
def gen_makefile(self, cfiles, eci, exe_name=None, path=None,
- shared=False, headers_to_precompile=[]):
+ shared=False, headers_to_precompile=[],
+ no_precompile_cfiles = []):
cfiles = self._all_cfiles(cfiles, eci)
if path is None:
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
@@ -249,7 +249,8 @@
def gen_makefile(self, cfiles, eci, exe_name=None, path=None,
- shared=False, headers_to_precompile=[]):
+ shared=False, headers_to_precompile=[],
+ no_precompile_cfiles = []):
cfiles = self._all_cfiles(cfiles, eci)
if path is None:
@@ -348,7 +349,7 @@
# create a rule for compiling each file from eci since they cannot use
# precompiled headers :(
no_precompile = []
- for f in list(eci.separate_module_files):
+ for f in list(no_precompile_cfiles):
f = m.pathrel(py.path.local(f))
if f not in no_precompile and f.endswith('.c'):
no_precompile.append(f)
More information about the pypy-commit
mailing list