-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
[WIP] bpo-35134: Create Include/pycapi/ subdirectory #10285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* Create Include/pycapi/ subdirectory * "make install" now creates $prefix/include/pycapi and copy Include/pycapi/* to $prefix/include/pycapi * Create Include/pycapi/pycapi_objimpl.h: move objimpl.h code surrounded by #ifndef Py_LIMITED_API to pycapi_objimpl.h. * objimpl.h includes pycapi/pycapi_objimpl.h
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to add:
#ifdef Py_LIMITED_API
# error "Py_LIMITED_API must not be defined to include this header"
#endif
But this header should be include if Py_LIMITED_API is defined with a value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you don't move PyObject_Calloc (because it's in the stable ABI in 3.5+), then you can add that guard to the unstable ABI header.
@@ -95,24 +95,9 @@ PyObject_{New, NewVar, Del}. | |||
the raw memory. | |||
*/ | |||
PyAPI_FUNC(void *) PyObject_Malloc(size_t size); | |||
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 | |||
PyAPI_FUNC(void *) PyObject_Calloc(size_t nelem, size_t elsize); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is in the stable API (since version 3.5). It should not be moved.
The same is for other functions, added to the stable API after 3.2.
I abandon this PR: moving PyObject_Calloc() was wrong, and "pycapi" name is too generic: I created a new PR #10624. |
Include/pycapi/* to $prefix/include/pycapi
surrounded by #ifndef Py_LIMITED_API to pycapi_objimpl.h.
https://bugs.python.org/issue35134