diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d8ad8e7c..5644fd17 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -79,6 +79,12 @@ jobs: # expect that some people will compile it themselves with that setting. CPPFLAGS: "-Ofast -UNDEBUG -Wall" CFLAGS: "-Ofast -UNDEBUG -Wall" + # On Windows this step also produces the wheels we distribute, so + # link the C++ runtime statically, the way the Appveyor builds did + # through 3.3.0. Without it, _greenlet.pyd imports MSVCP140.dll, + # which no Windows CPython distribution ships. setup.py ignores + # this everywhere else. + GREENLET_STATIC_RUNTIME: "1" - name: Install greenlet (Mac) if: startsWith(runner.os, 'Mac') run: | diff --git a/CHANGES.rst b/CHANGES.rst index 7fc37e12..49569bb9 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,7 +5,12 @@ 3.5.5 (unreleased) ================== -- Nothing changed yet. +- Link the C++ runtime statically into the Windows wheels again, as the + Appveyor builds did through 3.3.0. Since 3.3.1 ``_greenlet.pyd`` + imported ``MSVCP140.dll``, which no Windows CPython distribution ships, + so importing greenlet failed on machines without the Visual C++ + redistributable. See `issue 525 + `_. 3.5.4 (2026-07-22)