Skip to content

Commit

Permalink
Merge pull request #4463 from pypa/bugfix/distutils-34f9518ef
Browse files Browse the repository at this point in the history
Merge with distutils@34f9518ef
  • Loading branch information
jaraco authored Jul 9, 2024
2 parents 34f9518 + c4e64c1 commit 822280b
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
1 change: 1 addition & 0 deletions newsfragments/+4571b0f4.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Bugfix for building Cython extension on Windows (pypa/distutils#268).
4 changes: 3 additions & 1 deletion setuptools/_distutils/sysconfig.py
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,9 @@ def customize_compiler(compiler): # noqa: C901
Mainly needed on Unix, so we can plug in the information that
varies across Unices and is stored in Python's Makefile.
"""
if compiler.compiler_type in ["unix", "cygwin", "mingw32"]:
if compiler.compiler_type in ["unix", "cygwin"] or (
compiler.compiler_type == "mingw32" and is_mingw()
):
_customize_macos()

(
Expand Down
10 changes: 10 additions & 0 deletions setuptools/_distutils/tests/test_mingwccompiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from distutils.util import split_quoted, is_mingw
from distutils.errors import DistutilsPlatformError, CCompilerError
from distutils import sysconfig


class TestMingw32CCompiler:
Expand Down Expand Up @@ -43,3 +44,12 @@ def test_cygwincc_error(self, monkeypatch):

with pytest.raises(CCompilerError):
distutils.cygwinccompiler.Mingw32CCompiler()

def test_customize_compiler_with_msvc_python(self):
from distutils.cygwinccompiler import Mingw32CCompiler

# In case we have an MSVC Python build, but still want to use
# Mingw32CCompiler, then customize_compiler() shouldn't fail at least.
# https://github.com/pypa/setuptools/issues/4456
compiler = Mingw32CCompiler()
sysconfig.customize_compiler(compiler)

0 comments on commit 822280b

Please sign in to comment.