diff options
author | Julian Taylor <jtaylor.debian@googlemail.com> | 2017-05-01 23:07:39 +0200 |
---|---|---|
committer | Julian Taylor <jtaylor.debian@googlemail.com> | 2017-05-02 00:34:43 +0200 |
commit | 401597bb6262e2f3c26209be3afac235098c55c6 (patch) | |
tree | 7b3bb0902ab4dca0604416861d9e47d6a01ce33c /numpy/distutils/unixccompiler.py | |
parent | 590facafcbd454fc02f96aa52c1c3412d6cccd14 (diff) | |
download | numpy-401597bb6262e2f3c26209be3afac235098c55c6.tar.gz |
BUG: check compiler flags to determine the need for a rebuild
Some projects compile an extension multiple times with different flags.
As it is not intended to get the extension name from the compiler
object, store the last used flags in the dependency file and also check
if they match the flags of the current build.
Diffstat (limited to 'numpy/distutils/unixccompiler.py')
-rw-r--r-- | numpy/distutils/unixccompiler.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/numpy/distutils/unixccompiler.py b/numpy/distutils/unixccompiler.py index 307b56ce4..6ed5eec6f 100644 --- a/numpy/distutils/unixccompiler.py +++ b/numpy/distutils/unixccompiler.py @@ -10,6 +10,7 @@ from distutils.errors import DistutilsExecError, CompileError from distutils.unixccompiler import * from numpy.distutils.ccompiler import replace_method from numpy.distutils.compat import get_exception +from numpy.distutils.misc_util import _commandline_dep_string if sys.version_info[0] < 3: from . import log @@ -59,6 +60,10 @@ def UnixCCompiler__compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts msg = str(get_exception()) raise CompileError(msg) + # add commandline flags to dependency file + with open(obj + '.d', 'a') as f: + f.write(_commandline_dep_string(cc_args, extra_postargs, pp_opts)) + replace_method(UnixCCompiler, '_compile', UnixCCompiler__compile) |