Kaydet (Commit) 4575afcb authored tarafından Éric Araujo's avatar Éric Araujo

Fix parsing of packaging’s build_ext --libraries option (#1326113)

üst 1d175f77
...@@ -159,8 +159,7 @@ class build_ext(Command): ...@@ -159,8 +159,7 @@ class build_ext(Command):
if plat_py_include != py_include: if plat_py_include != py_include:
self.include_dirs.append(plat_py_include) self.include_dirs.append(plat_py_include)
if isinstance(self.libraries, str): self.ensure_string_list('libraries')
self.libraries = [self.libraries]
# Life is easier if we're not forever checking for None, so # Life is easier if we're not forever checking for None, so
# simplify these options to empty lists if unset # simplify these options to empty lists if unset
......
...@@ -141,21 +141,21 @@ class BuildExtTestCase(support.TempdirManager, ...@@ -141,21 +141,21 @@ class BuildExtTestCase(support.TempdirManager,
# make sure cmd.libraries is turned into a list # make sure cmd.libraries is turned into a list
# if it's a string # if it's a string
cmd = build_ext(dist) cmd = build_ext(dist)
cmd.libraries = 'my_lib' cmd.libraries = 'my_lib, other_lib lastlib'
cmd.finalize_options() 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 # make sure cmd.library_dirs is turned into a list
# if it's a string # if it's a string
cmd = build_ext(dist) cmd = build_ext(dist)
cmd.library_dirs = 'my_lib_dir' cmd.library_dirs = 'my_lib_dir%sother_lib_dir' % os.pathsep
cmd.finalize_options() cmd.finalize_options()
self.assertIn('my_lib_dir', cmd.library_dirs) self.assertEqual(cmd.library_dirs, ['my_lib_dir', 'other_lib_dir'])
# make sure rpath is turned into a list # 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 = build_ext(dist)
cmd.rpath = os.pathsep.join(['one', 'two']) cmd.rpath = 'one%stwo' % os.pathsep
cmd.finalize_options() cmd.finalize_options()
self.assertEqual(cmd.rpath, ['one', 'two']) self.assertEqual(cmd.rpath, ['one', 'two'])
......
...@@ -472,8 +472,9 @@ Library ...@@ -472,8 +472,9 @@ Library
- Issue #13015: Fix a possible reference leak in defaultdict.__repr__. - Issue #13015: Fix a possible reference leak in defaultdict.__repr__.
Patch by Suman Saha. Patch by Suman Saha.
- Issue #1326113: distutils' build_ext command --libraries option now - Issue #1326113: distutils' and packaging's build_ext commands option now
correctly parses multiple values separated by whitespace or commas. correctly parses multiple values (separated by whitespace or commas) given
to their --libraries option.
- Issue #10287: nntplib now queries the server's CAPABILITIES first before - Issue #10287: nntplib now queries the server's CAPABILITIES first before
sending MODE READER, and only sends it if not already in READER mode. sending MODE READER, and only sends it if not already in READER mode.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment