diff options
author | Tim D. Smith <git@tim-smith.us> | 2015-05-10 16:39:01 -0700 |
---|---|---|
committer | Tim D. Smith <git@tim-smith.us> | 2015-06-05 00:49:48 -0700 |
commit | b08f369554e6d6b231c941740f6c852a45edcc12 (patch) | |
tree | 6465d3f72821e6a1b0673f7c4c0dfbc1eb82c824 /numpy | |
parent | c65fc9e36b287461040615a452e0268bbca9f3ca (diff) | |
download | numpy-b08f369554e6d6b231c941740f6c852a45edcc12.tar.gz |
BLD: find Python.h when build_ext --include-dirs is set
Ensure that build_ext.include_dirs is the same physical list as
build_ext.distribution.include_dirs.
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/distutils/command/build_ext.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/numpy/distutils/command/build_ext.py b/numpy/distutils/command/build_ext.py index 59c453607..c588204e5 100644 --- a/numpy/distutils/command/build_ext.py +++ b/numpy/distutils/command/build_ext.py @@ -54,10 +54,24 @@ class build_ext (old_build_ext): self.jobs = int(self.jobs) except ValueError: raise ValueError("--jobs/-j argument must be an integer") - incl_dirs = self.include_dirs + + # Ensure that self.include_dirs and self.distribution.include_dirs + # refer to the same list object. finalize_options will modify + # self.include_dirs, but self.distribution.include_dirs is used + # during the actual build. + # self.include_dirs is None unless paths are specified with + # --include-dirs. + # The include paths will be passed to the compiler in the order: + # numpy paths, --include-dirs paths, Python include path. + if isinstance(self.include_dirs, str): + self.include_dirs = self.include_dirs.split(os.pathsep) + incl_dirs = self.include_dirs or [] + if self.distribution.include_dirs is None: + self.distribution.include_dirs = [] + self.include_dirs = self.distribution.include_dirs + self.include_dirs.extend(incl_dirs) + old_build_ext.finalize_options(self) - if incl_dirs is not None: - self.include_dirs.extend(self.distribution.include_dirs or []) self.set_undefined_options('build', ('jobs', 'jobs')) def run(self): |