Fix parsing of build_ext --libraries option (#1326113)

This commit is contained in:
Éric Araujo 2012-02-15 16:28:20 +01:00
parent 65d36dab4d
commit e897a7472d
3 changed files with 10 additions and 8 deletions

View File

@ -160,8 +160,7 @@ class build_ext (Command):
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

View File

@ -150,21 +150,21 @@ class BuildExtTestCase(support.TempdirManager,
# 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'])

View File

@ -102,6 +102,9 @@ Library
- Issue #13979: A bug in ctypes.util.find_library that caused
the wrong library name to be returned has been fixed.
- Issue #1326113: distutils' build_ext command --libraries option now
correctly parses multiple values separated by whitespace or commas.
- Issue #13993: HTMLParser is now able to handle broken end tags.
- Issue #13960: HTMLParser is now able to handle broken comments.