[Python-checkins] cpython (3.2): Fix parsing of build_ext --libraries option (#1326113)
eric.araujo
python-checkins at python.org
Wed Feb 15 17:15:06 CET 2012
http://hg.python.org/cpython/rev/53df93a9c002
changeset: 74947:53df93a9c002
branch: 3.2
parent: 74940:7f267a650a1d
user: Éric Araujo <merwok at netwok.org>
date: Wed Feb 15 16:44:37 2012 +0100
summary:
Fix parsing of build_ext --libraries option (#1326113)
files:
Lib/distutils/command/build_ext.py | 3 +--
Lib/distutils/tests/test_build_ext.py | 12 ++++++------
Misc/NEWS | 3 +++
3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -165,8 +165,7 @@
if plat_py_include != py_include:
self.include_dirs.append(plat_py_include)
- if isinstance(self.libraries, str):
- self.libraries = [self.libraries]
+ self.ensure_string_list('libraries')
# Life is easier if we're not forever checking for None, so
# simplify these options to empty lists if unset
diff --git a/Lib/distutils/tests/test_build_ext.py b/Lib/distutils/tests/test_build_ext.py
--- a/Lib/distutils/tests/test_build_ext.py
+++ b/Lib/distutils/tests/test_build_ext.py
@@ -178,21 +178,21 @@
# make sure cmd.libraries is turned into a list
# if it's a string
cmd = build_ext(dist)
- cmd.libraries = 'my_lib'
+ cmd.libraries = 'my_lib, other_lib lastlib'
cmd.finalize_options()
- self.assertEqual(cmd.libraries, ['my_lib'])
+ self.assertEqual(cmd.libraries, ['my_lib', 'other_lib', 'lastlib'])
# make sure cmd.library_dirs is turned into a list
# if it's a string
cmd = build_ext(dist)
- cmd.library_dirs = 'my_lib_dir'
+ cmd.library_dirs = 'my_lib_dir%sother_lib_dir' % os.pathsep
cmd.finalize_options()
- self.assertTrue('my_lib_dir' in cmd.library_dirs)
+ self.assertEqual(cmd.library_dirs, ['my_lib_dir', 'other_lib_dir'])
# make sure rpath is turned into a list
- # if it's a list of os.pathsep's paths
+ # if it's a string
cmd = build_ext(dist)
- cmd.rpath = os.pathsep.join(['one', 'two'])
+ cmd.rpath = 'one%stwo' % os.pathsep
cmd.finalize_options()
self.assertEqual(cmd.rpath, ['one', 'two'])
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -119,6 +119,9 @@
- Issue #13015: Fix a possible reference leak in defaultdict.__repr__.
Patch by Suman Saha.
+- Issue #1326113: distutils' build_ext command --libraries option now
+ correctly parses multiple values separated by whitespace or commas.
+
- Issue #10287: nntplib now queries the server's CAPABILITIES first before
sending MODE READER, and only sends it if not already in READER mode.
Patch by Hynek Schlawack.
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list