gh-85283: Build errno and _ctypes_test with limited C API (#110955)

_testimportmultiple is now built with limited C API version 3.2.
This commit is contained in:
Victor Stinner 2023-10-17 03:05:20 +02:00 committed by GitHub
parent cc71cc9256
commit 37bd8726b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 46 additions and 41 deletions

View File

@ -932,8 +932,8 @@ Build Changes
* Building CPython now requires a compiler with support for the C11 atomic
library, GCC built-in atomic functions, or MSVC interlocked intrinsics.
* The ``_stat`` and ``_testimportmultiple`` C extensions are now built with the
:ref:`limited C API <limited-c-api>`.
* The ``errno``, ``_ctypes_test``, ``_stat`` and ``_testimportmultiple`` C
extensions are now built with the :ref:`limited C API <limited-c-api>`.
(Contributed by Victor Stinner in :gh:`85283`.)

View File

@ -1,2 +1,3 @@
The ``_testimportmultiple`` C extension is now built with the :ref:`limited
C API <limited-c-api>`. Patch by Victor Stinner.
The ``errno``, ``_ctypes_test`` and ``_testimportmultiple`` C extensions are
now built with the :ref:`limited C API <limited-c-api>`. Patch by Victor
Stinner.

View File

@ -1,10 +1,11 @@
#define Py_LIMITED_API 0x03060000
#include <Python.h>
#ifdef MS_WIN32
#include <windows.h>
#endif
#include <stdlib.h> // qsort()
#ifdef MS_WIN32
# include <windows.h>
#endif
#define EXPORT(x) Py_EXPORTED_SYMBOL x

View File

@ -4,7 +4,7 @@
* foo, bar), only the first one is called the same as the compiled file.
*/
#define Py_LIMITED_API 0x030d0000
#define Py_LIMITED_API 0x03020000
#include <Python.h>

View File

@ -1,41 +1,44 @@
/* Errno module */
// Need PyModuleDef_Slot added to limited C API version 3.5
#define Py_LIMITED_API 0x03050000
#include "Python.h"
/* Windows socket errors (WSA*) */
#ifdef MS_WINDOWS
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
/* The following constants were added to errno.h in VS2010 but have
preferred WSA equivalents. */
#undef EADDRINUSE
#undef EADDRNOTAVAIL
#undef EAFNOSUPPORT
#undef EALREADY
#undef ECONNABORTED
#undef ECONNREFUSED
#undef ECONNRESET
#undef EDESTADDRREQ
#undef EHOSTUNREACH
#undef EINPROGRESS
#undef EISCONN
#undef ELOOP
#undef EMSGSIZE
#undef ENETDOWN
#undef ENETRESET
#undef ENETUNREACH
#undef ENOBUFS
#undef ENOPROTOOPT
#undef ENOTCONN
#undef ENOTSOCK
#undef EOPNOTSUPP
#undef EPROTONOSUPPORT
#undef EPROTOTYPE
#undef ETIMEDOUT
#undef EWOULDBLOCK
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
// The following constants were added to errno.h in VS2010 but have
// preferred WSA equivalents.
# undef EADDRINUSE
# undef EADDRNOTAVAIL
# undef EAFNOSUPPORT
# undef EALREADY
# undef ECONNABORTED
# undef ECONNREFUSED
# undef ECONNRESET
# undef EDESTADDRREQ
# undef EHOSTUNREACH
# undef EINPROGRESS
# undef EISCONN
# undef ELOOP
# undef EMSGSIZE
# undef ENETDOWN
# undef ENETRESET
# undef ENETUNREACH
# undef ENOBUFS
# undef ENOPROTOOPT
# undef ENOTCONN
# undef ENOTSOCK
# undef EOPNOTSUPP
# undef EPROTONOSUPPORT
# undef EPROTOTYPE
# undef ETIMEDOUT
# undef EWOULDBLOCK
#endif
/*