[Python-checkins] bpo-36763: Add _PyCoreConfig._config_version (GH-13065)

Victor Stinner webhook-mailer at python.org
Thu May 2 14:46:33 EDT 2019


https://github.com/python/cpython/commit/373893ce51b0eaf0dec901e36a3e4217fbed3e32
commit: 373893ce51b0eaf0dec901e36a3e4217fbed3e32
branch: master
author: Victor Stinner <vstinner at redhat.com>
committer: GitHub <noreply at github.com>
date: 2019-05-02T14:46:29-04:00
summary:

bpo-36763: Add _PyCoreConfig._config_version (GH-13065)

Add private _config_version field to _PyPreConfig and _PyCoreConfig
to prepare future ABI compatibility.

files:
M Include/cpython/coreconfig.h

diff --git a/Include/cpython/coreconfig.h b/Include/cpython/coreconfig.h
index 99388e635c75..1aab5e4f0e62 100644
--- a/Include/cpython/coreconfig.h
+++ b/Include/cpython/coreconfig.h
@@ -65,7 +65,12 @@ typedef struct {
 
 /* --- _PyPreConfig ----------------------------------------------- */
 
+#define _Py_CONFIG_VERSION 1
+
 typedef struct {
+    int _config_version;  /* Internal configuration version,
+                             used for ABI compatibility */
+
     /* If greater than 0, enable isolated mode: sys.path contains
        neither the script's directory nor the user's site-packages directory.
 
@@ -132,6 +137,7 @@ typedef struct {
 #define _PyPreConfig_INIT \
     (_PyPreConfig){ \
         _PyPreConfig_WINDOWS_INIT \
+        ._config_version = _Py_CONFIG_VERSION, \
         .isolated = -1, \
         .use_environment = -1, \
         .dev_mode = -1, \
@@ -141,9 +147,12 @@ typedef struct {
 /* --- _PyCoreConfig ---------------------------------------------- */
 
 typedef struct {
-    int isolated;
-    int use_environment;
-    int dev_mode;
+    int _config_version;  /* Internal configuration version,
+                             used for ABI compatibility */
+
+    int isolated;         /* Isolated mode? see _PyPreConfig.isolated */
+    int use_environment;  /* Use environment variables? see _PyPreConfig.use_environment */
+    int dev_mode;         /* Development mode? See _PyPreConfig.dev_mode */
 
     /* Install signal handlers? Yes by default. */
     int install_signal_handlers;
@@ -397,6 +406,7 @@ typedef struct {
 #define _PyCoreConfig_INIT \
     (_PyCoreConfig){ \
         _PyCoreConfig_WINDOWS_INIT \
+        ._config_version = _Py_CONFIG_VERSION, \
         .isolated = -1, \
         .use_environment = -1, \
         .dev_mode = -1, \



More information about the Python-checkins mailing list