summaryrefslogtreecommitdiff
path: root/setuptools/build_meta.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2022-02-12 05:39:08 -0500
committerGitHub <noreply@github.com>2022-02-12 05:39:08 -0500
commit577af8b46e0929731de6ebfefccd0f6d870d1ed4 (patch)
tree1a59ea34992910179333379cbff1d9cc9f9f5e4f /setuptools/build_meta.py
parentb653408e78891c6ce827ea237d3cd9f6e6a9a2f3 (diff)
parent6b0b410572b11e0be9a62ff478616abfddc8633a (diff)
downloadpython-setuptools-git-577af8b46e0929731de6ebfefccd0f6d870d1ed4.tar.gz
Merge pull request #2876 from gentlegiantJGC/main
Fixed string list concatenation error
Diffstat (limited to 'setuptools/build_meta.py')
-rw-r--r--setuptools/build_meta.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/setuptools/build_meta.py b/setuptools/build_meta.py
index 2a5b529a..5dc65e2d 100644
--- a/setuptools/build_meta.py
+++ b/setuptools/build_meta.py
@@ -38,6 +38,8 @@ import warnings
import setuptools
import distutils
from ._reqs import parse_strings
+from .extern.more_itertools import always_iterable
+
__all__ = ['get_requires_for_build_sdist',
'get_requires_for_build_wheel',
@@ -127,9 +129,24 @@ def suppress_known_deprecation():
class _BuildMetaBackend:
- def _fix_config(self, config_settings):
+ @staticmethod
+ def _fix_config(config_settings):
+ """
+ Ensure config settings meet certain expectations.
+
+ >>> fc = _BuildMetaBackend._fix_config
+ >>> fc(None)
+ {'--global-option': []}
+ >>> fc({})
+ {'--global-option': []}
+ >>> fc({'--global-option': 'foo'})
+ {'--global-option': ['foo']}
+ >>> fc({'--global-option': ['foo']})
+ {'--global-option': ['foo']}
+ """
config_settings = config_settings or {}
- config_settings.setdefault('--global-option', [])
+ config_settings['--global-option'] = list(always_iterable(
+ config_settings.get('--global-option')))
return config_settings
def _get_build_requires(self, config_settings, requirements):