diff options
author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2012-10-23 20:26:14 +0100 |
---|---|---|
committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2012-10-23 20:26:14 +0100 |
commit | e87acc1f38652f90b4b63b9e79d17a4e5f2f74eb (patch) | |
tree | 9baef0b01f30595c1e5f58ae8817ffb39e0beb3c | |
parent | e6e96eea5157650be77306b15b28bc815e14c2f3 (diff) | |
download | cpython-git-e87acc1f38652f90b4b63b9e79d17a4e5f2f74eb.tar.gz |
Issue #16116: Now uses corrected include and library paths when building C extensions in a venv.
-rw-r--r-- | Lib/distutils/command/build_ext.py | 7 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index f16e2f17ef..b1d951e6f8 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -160,6 +160,11 @@ class build_ext(Command): if isinstance(self.include_dirs, str): self.include_dirs = self.include_dirs.split(os.pathsep) + # If in a virtualenv, add its include directory + # Issue 16116 + if sys.exec_prefix != sys.base_exec_prefix: + self.include_dirs.append(os.path.join(sys.exec_prefix, 'include')) + # Put the Python "system" include dir at the end, so that # any local include dirs take precedence. self.include_dirs.append(py_include) @@ -190,6 +195,8 @@ class build_ext(Command): # must be the *native* platform. But we don't really support # cross-compiling via a binary install anyway, so we let it go. self.library_dirs.append(os.path.join(sys.exec_prefix, 'libs')) + if sys.base_exec_prefix != sys.prefix: # Issue 16116 + self.library_dirs.append(os.path.join(sys.base_exec_prefix, 'libs')) if self.debug: self.build_temp = os.path.join(self.build_temp, "Debug") else: @@ -46,6 +46,9 @@ Core and Builtins Library ------- +- Issue #16116: Fix include and library paths to be correctwhen building C + extensions in venvs. + - Issue #16245: Fix the value of a few entities in html.entities.html5. - Issue #14398: Fix size truncation and overflow bugs in the bz2 module. |