◐ Shell
clean mode source ↗

Message 322316 - Python tracker

Since issue30860, libpython is no longer able to be linked as a shared library, because built-in modules are not compiled with the correct external linkage flags.

This is due to the removal of -DPy_BUILD_CORE, which in pyport.h is used to control wither __declspec(dllexport) is used as opposed to __declspec(dllimport).

Fortunately Eric Snow already added in https://github.com/python/cpython/pull/3458 a new flag Py_BUILD_CORE_BUILTIN which is used sparingly on Windows, and which should also be used, e.g. on Cygwin or MinGW, when compiling modules that are linked into libpython as built-ins.  It sets the right external linkage flags without carrying the additional weight of Py_BUILD_CORE.

This along with issue34211 need to be fixed in order to get Python 3.7+ building on Cygwin again.