diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2020-02-07 03:15:01 -0500 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2020-02-07 03:15:01 -0500 |
commit | b519c18fad92cc6d3d2f31012362246a8467cd41 (patch) | |
tree | 4732fad4190df943b057648e896e922c02da437e /setuptools/build_meta.py | |
parent | 0559f17d4588553eb428d57ecfebab9e0e988e65 (diff) | |
download | python-setuptools-git-feature/pip-options-alignment.tar.gz |
Add support for --build-option alongside --global-option and use --global-option to define options that apply before the distutils command. Fixes #1928.feature/pip-options-alignment
Diffstat (limited to 'setuptools/build_meta.py')
-rw-r--r-- | setuptools/build_meta.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/setuptools/build_meta.py b/setuptools/build_meta.py index eb9e815e..36cca98a 100644 --- a/setuptools/build_meta.py +++ b/setuptools/build_meta.py @@ -115,13 +115,18 @@ class _BuildMetaBackend(object): def _fix_config(self, config_settings): config_settings = config_settings or {} config_settings.setdefault('--global-option', []) + config_settings.setdefault('--build-option', []) return config_settings def _get_build_requires(self, config_settings, requirements): config_settings = self._fix_config(config_settings) - sys.argv = sys.argv[:1] + ['egg_info'] + \ - config_settings["--global-option"] + sys.argv = ( + sys.argv[:1] + + config_settings["--global-option"] + + ['egg_info'] + + config_settings["--build-option"] + ) try: with Distribution.patch(): self.run_setup() @@ -188,9 +193,13 @@ class _BuildMetaBackend(object): # Build in a temporary directory, then copy to the target. makedirs(result_directory, exist_ok=True) with TemporaryDirectory(dir=result_directory) as tmp_dist_dir: - sys.argv = (sys.argv[:1] + setup_command + - ['--dist-dir', tmp_dist_dir] + - config_settings["--global-option"]) + sys.argv = ( + sys.argv[:1] + + config_settings["--global-option"] + + setup_command + + ['--dist-dir', tmp_dist_dir] + + config_settings["--build-option"] + ) self.run_setup() result_basename = _file_with_extension(tmp_dist_dir, result_extension) |