I close the issue, it seems like all sub-tasks have been completed!
Summary of the change:
* Header files of Include/internal/ are now all prefixed by "pycore_" and the directory has been added to the header search path. For example, #include "pycore_pystate.h" is now used in C code, instead of #include "internal/pystate.h".
* All "#ifdef Py_BUILD_CORE" code has been moved from Include/*.h to Include/internal/*.h (except of the _PyTuple_ITEMS() macro)
* I created many new header files in Include/internal/
* _json and _locale modules are now built with Py_BUILD_CORE define
* _PyObject_GC_TRACK() and _PyObject_GC_UNTRACK() have been removed from the public C API and moved to the internal API
There are other issues to track following steps:
* bpo-35296: Install Include/internal/ header files
* bpo-35258: Fix -Wmissing-prototypes warnings
* bpo-35134: Create Include/cpython/ subdirectory
* bpo-35059: Convert macros to static inline functions |