From b519c18fad92cc6d3d2f31012362246a8467cd41 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Fri, 7 Feb 2020 03:15:01 -0500 Subject: [PATCH] Add support for --build-option alongside --global-option and use --global-option to define options that apply before the distutils command. Fixes #1928. --- setuptools/build_meta.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/setuptools/build_meta.py b/setuptools/build_meta.py index eb9e815ef8..36cca98a7e 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 @@ def _build_with_temp_dir(self, setup_command, result_extension, # 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)