summaryrefslogtreecommitdiffstats
path: root/contrib/libs/python
diff options
context:
space:
mode:
authorkuzmich321 <[email protected]>2025-08-04 21:11:07 +0300
committerkuzmich321 <[email protected]>2025-08-04 22:16:42 +0300
commit78b39e84c02a1fe198c07279e3ad46245fa09981 (patch)
tree891c70e3d96264a4ad19b700c53f8b05e3df84c3 /contrib/libs/python
parentd1486eddc9e9da29f76c1fae5550805eec939482 (diff)
add DUSE_PYTHON3_PREV support
commit_hash:b2e89d949d9560889cc979429e8fa79494368f76
Diffstat (limited to 'contrib/libs/python')
-rw-r--r--contrib/libs/python/Include_prev/Python-ast.h7
-rw-r--r--contrib/libs/python/Include_prev/Python.h7
-rw-r--r--contrib/libs/python/Include_prev/abstract.h7
-rw-r--r--contrib/libs/python/Include_prev/asdl.h7
-rw-r--r--contrib/libs/python/Include_prev/ast.h7
-rw-r--r--contrib/libs/python/Include_prev/bitset.h7
-rw-r--r--contrib/libs/python/Include_prev/bltinmodule.h7
-rw-r--r--contrib/libs/python/Include_prev/boolobject.h7
-rw-r--r--contrib/libs/python/Include_prev/bufferobject.h7
-rw-r--r--contrib/libs/python/Include_prev/bytearrayobject.h7
-rw-r--r--contrib/libs/python/Include_prev/bytes_methods.h7
-rw-r--r--contrib/libs/python/Include_prev/bytesobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cStringIO.h7
-rw-r--r--contrib/libs/python/Include_prev/cellobject.h7
-rw-r--r--contrib/libs/python/Include_prev/ceval.h7
-rw-r--r--contrib/libs/python/Include_prev/classobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cobject.h7
-rw-r--r--contrib/libs/python/Include_prev/code.h7
-rw-r--r--contrib/libs/python/Include_prev/codecs.h7
-rw-r--r--contrib/libs/python/Include_prev/compile.h7
-rw-r--r--contrib/libs/python/Include_prev/complexobject.h7
-rw-r--r--contrib/libs/python/Include_prev/config_platform.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/abstract.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/bytearrayobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/bytesobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/cellobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/ceval.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/classobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/code.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/compile.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/complexobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/context.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/descrobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/dictobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/fileobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/fileutils.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/floatobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/frameobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/funcobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/genobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/import.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/initconfig.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/interpreteridobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/listobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/longintrepr.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/longobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/memoryobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/methodobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/modsupport.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/object.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/objimpl.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/odictobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/picklebufobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pthread_stubs.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pyctype.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pydebug.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pyerrors.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pyfpe.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pyframe.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pylifecycle.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pymem.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pystate.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pythonrun.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pythread.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/pytime.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/setobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/sysmodule.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/traceback.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/tupleobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/unicodeobject.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/warnings.h7
-rw-r--r--contrib/libs/python/Include_prev/cpython/weakrefobject.h7
-rw-r--r--contrib/libs/python/Include_prev/datetime.h7
-rw-r--r--contrib/libs/python/Include_prev/descrobject.h7
-rw-r--r--contrib/libs/python/Include_prev/dictobject.h7
-rw-r--r--contrib/libs/python/Include_prev/dtoa.h7
-rw-r--r--contrib/libs/python/Include_prev/dynamic_annotations.h7
-rw-r--r--contrib/libs/python/Include_prev/enumobject.h7
-rw-r--r--contrib/libs/python/Include_prev/errcode.h7
-rw-r--r--contrib/libs/python/Include_prev/eval.h7
-rw-r--r--contrib/libs/python/Include_prev/exports.h7
-rw-r--r--contrib/libs/python/Include_prev/fileobject.h7
-rw-r--r--contrib/libs/python/Include_prev/fileutils.h7
-rw-r--r--contrib/libs/python/Include_prev/floatobject.h7
-rw-r--r--contrib/libs/python/Include_prev/frameobject.h7
-rw-r--r--contrib/libs/python/Include_prev/funcobject.h7
-rw-r--r--contrib/libs/python/Include_prev/genericaliasobject.h7
-rw-r--r--contrib/libs/python/Include_prev/genobject.h7
-rw-r--r--contrib/libs/python/Include_prev/graminit.h7
-rw-r--r--contrib/libs/python/Include_prev/grammar.h7
-rw-r--r--contrib/libs/python/Include_prev/import.h7
-rw-r--r--contrib/libs/python/Include_prev/internal/pycore_frame.h7
-rw-r--r--contrib/libs/python/Include_prev/interpreteridobject.h7
-rw-r--r--contrib/libs/python/Include_prev/intobject.h7
-rw-r--r--contrib/libs/python/Include_prev/intrcheck.h7
-rw-r--r--contrib/libs/python/Include_prev/iterobject.h7
-rw-r--r--contrib/libs/python/Include_prev/listobject.h7
-rw-r--r--contrib/libs/python/Include_prev/longintrepr.h7
-rw-r--r--contrib/libs/python/Include_prev/longobject.h7
-rw-r--r--contrib/libs/python/Include_prev/marshal.h7
-rw-r--r--contrib/libs/python/Include_prev/memoryobject.h7
-rw-r--r--contrib/libs/python/Include_prev/metagrammar.h7
-rw-r--r--contrib/libs/python/Include_prev/methodobject.h7
-rw-r--r--contrib/libs/python/Include_prev/modsupport.h7
-rw-r--r--contrib/libs/python/Include_prev/moduleobject.h7
-rw-r--r--contrib/libs/python/Include_prev/node.h7
-rw-r--r--contrib/libs/python/Include_prev/object.h7
-rw-r--r--contrib/libs/python/Include_prev/objimpl.h7
-rw-r--r--contrib/libs/python/Include_prev/opcode.h7
-rw-r--r--contrib/libs/python/Include_prev/osdefs.h7
-rw-r--r--contrib/libs/python/Include_prev/osmodule.h7
-rw-r--r--contrib/libs/python/Include_prev/parsetok.h7
-rw-r--r--contrib/libs/python/Include_prev/patchlevel.h7
-rw-r--r--contrib/libs/python/Include_prev/pgen.h7
-rw-r--r--contrib/libs/python/Include_prev/pgenheaders.h7
-rw-r--r--contrib/libs/python/Include_prev/py_curses.h7
-rw-r--r--contrib/libs/python/Include_prev/pyarena.h7
-rw-r--r--contrib/libs/python/Include_prev/pybuffer.h7
-rw-r--r--contrib/libs/python/Include_prev/pycapsule.h7
-rw-r--r--contrib/libs/python/Include_prev/pyconfig.h7
-rw-r--r--contrib/libs/python/Include_prev/pyctype.h7
-rw-r--r--contrib/libs/python/Include_prev/pydebug.h7
-rw-r--r--contrib/libs/python/Include_prev/pydtrace.h7
-rw-r--r--contrib/libs/python/Include_prev/pyerrors.h7
-rw-r--r--contrib/libs/python/Include_prev/pyexpat.h7
-rw-r--r--contrib/libs/python/Include_prev/pyfpe.h7
-rw-r--r--contrib/libs/python/Include_prev/pyframe.h7
-rw-r--r--contrib/libs/python/Include_prev/pygetopt.h7
-rw-r--r--contrib/libs/python/Include_prev/pyhash.h7
-rw-r--r--contrib/libs/python/Include_prev/pylifecycle.h7
-rw-r--r--contrib/libs/python/Include_prev/pymacconfig.h7
-rw-r--r--contrib/libs/python/Include_prev/pymacro.h7
-rw-r--r--contrib/libs/python/Include_prev/pymactoolbox.h7
-rw-r--r--contrib/libs/python/Include_prev/pymath.h7
-rw-r--r--contrib/libs/python/Include_prev/pymem.h7
-rw-r--r--contrib/libs/python/Include_prev/pyport.h7
-rw-r--r--contrib/libs/python/Include_prev/pystate.h7
-rw-r--r--contrib/libs/python/Include_prev/pystats.h7
-rw-r--r--contrib/libs/python/Include_prev/pystrcmp.h7
-rw-r--r--contrib/libs/python/Include_prev/pystrtod.h7
-rw-r--r--contrib/libs/python/Include_prev/pythonrun.h7
-rw-r--r--contrib/libs/python/Include_prev/pythread.h7
-rw-r--r--contrib/libs/python/Include_prev/pytypedefs.h7
-rw-r--r--contrib/libs/python/Include_prev/rangeobject.h7
-rw-r--r--contrib/libs/python/Include_prev/setobject.h7
-rw-r--r--contrib/libs/python/Include_prev/sliceobject.h7
-rw-r--r--contrib/libs/python/Include_prev/stringobject.h7
-rw-r--r--contrib/libs/python/Include_prev/structmember.h7
-rw-r--r--contrib/libs/python/Include_prev/structseq.h7
-rw-r--r--contrib/libs/python/Include_prev/symtable.h7
-rw-r--r--contrib/libs/python/Include_prev/sysmodule.h7
-rw-r--r--contrib/libs/python/Include_prev/timefuncs.h7
-rw-r--r--contrib/libs/python/Include_prev/token.h7
-rw-r--r--contrib/libs/python/Include_prev/traceback.h7
-rw-r--r--contrib/libs/python/Include_prev/tracemalloc.h7
-rw-r--r--contrib/libs/python/Include_prev/tupleobject.h7
-rw-r--r--contrib/libs/python/Include_prev/typeslots.h7
-rw-r--r--contrib/libs/python/Include_prev/ucnhash.h7
-rw-r--r--contrib/libs/python/Include_prev/unicodeobject.h7
-rw-r--r--contrib/libs/python/Include_prev/warnings.h7
-rw-r--r--contrib/libs/python/Include_prev/weakrefobject.h7
-rw-r--r--contrib/libs/python/ya.make31
162 files changed, 1153 insertions, 5 deletions
diff --git a/contrib/libs/python/Include_prev/Python-ast.h b/contrib/libs/python/Include_prev/Python-ast.h
new file mode 100644
index 00000000000..5861085f51c
--- /dev/null
+++ b/contrib/libs/python/Include_prev/Python-ast.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <Python-ast.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/Python-ast.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/Python.h b/contrib/libs/python/Include_prev/Python.h
new file mode 100644
index 00000000000..a4cb9908567
--- /dev/null
+++ b/contrib/libs/python/Include_prev/Python.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/Python.h>
+#else
+#include <contrib/tools/python/src/Include/Python.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/abstract.h b/contrib/libs/python/Include_prev/abstract.h
new file mode 100644
index 00000000000..c3b5a8c9fd5
--- /dev/null
+++ b/contrib/libs/python/Include_prev/abstract.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/abstract.h>
+#else
+#include <contrib/tools/python/src/Include/abstract.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/asdl.h b/contrib/libs/python/Include_prev/asdl.h
new file mode 100644
index 00000000000..c3e6bfa8aa4
--- /dev/null
+++ b/contrib/libs/python/Include_prev/asdl.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <asdl.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/asdl.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/ast.h b/contrib/libs/python/Include_prev/ast.h
new file mode 100644
index 00000000000..ec8e2c9f20e
--- /dev/null
+++ b/contrib/libs/python/Include_prev/ast.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <ast.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/ast.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/bitset.h b/contrib/libs/python/Include_prev/bitset.h
new file mode 100644
index 00000000000..6b90b282686
--- /dev/null
+++ b/contrib/libs/python/Include_prev/bitset.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <bitset.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/bitset.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/bltinmodule.h b/contrib/libs/python/Include_prev/bltinmodule.h
new file mode 100644
index 00000000000..d6b6c63a80d
--- /dev/null
+++ b/contrib/libs/python/Include_prev/bltinmodule.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/bltinmodule.h>
+#else
+#error "No <bltinmodule.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/boolobject.h b/contrib/libs/python/Include_prev/boolobject.h
new file mode 100644
index 00000000000..25c74f0e342
--- /dev/null
+++ b/contrib/libs/python/Include_prev/boolobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/boolobject.h>
+#else
+#include <contrib/tools/python/src/Include/boolobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/bufferobject.h b/contrib/libs/python/Include_prev/bufferobject.h
new file mode 100644
index 00000000000..0a36f34c370
--- /dev/null
+++ b/contrib/libs/python/Include_prev/bufferobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <bufferobject.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/bufferobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/bytearrayobject.h b/contrib/libs/python/Include_prev/bytearrayobject.h
new file mode 100644
index 00000000000..f8cf149304e
--- /dev/null
+++ b/contrib/libs/python/Include_prev/bytearrayobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/bytearrayobject.h>
+#else
+#include <contrib/tools/python/src/Include/bytearrayobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/bytes_methods.h b/contrib/libs/python/Include_prev/bytes_methods.h
new file mode 100644
index 00000000000..40656f0c75e
--- /dev/null
+++ b/contrib/libs/python/Include_prev/bytes_methods.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <bytes_methods.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/bytes_methods.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/bytesobject.h b/contrib/libs/python/Include_prev/bytesobject.h
new file mode 100644
index 00000000000..9f84aeee3ab
--- /dev/null
+++ b/contrib/libs/python/Include_prev/bytesobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/bytesobject.h>
+#else
+#include <contrib/tools/python/src/Include/bytesobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/cStringIO.h b/contrib/libs/python/Include_prev/cStringIO.h
new file mode 100644
index 00000000000..774dcec4dde
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cStringIO.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <cStringIO.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/cStringIO.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/cellobject.h b/contrib/libs/python/Include_prev/cellobject.h
new file mode 100644
index 00000000000..ad0dbd95d08
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cellobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <cellobject.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/cellobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/ceval.h b/contrib/libs/python/Include_prev/ceval.h
new file mode 100644
index 00000000000..cd35a35098d
--- /dev/null
+++ b/contrib/libs/python/Include_prev/ceval.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/ceval.h>
+#else
+#include <contrib/tools/python/src/Include/ceval.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/classobject.h b/contrib/libs/python/Include_prev/classobject.h
new file mode 100644
index 00000000000..e110212d4d3
--- /dev/null
+++ b/contrib/libs/python/Include_prev/classobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <classobject.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/classobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/cobject.h b/contrib/libs/python/Include_prev/cobject.h
new file mode 100644
index 00000000000..6bffdeaf571
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <cobject.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/cobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/code.h b/contrib/libs/python/Include_prev/code.h
new file mode 100644
index 00000000000..3fbdf0622aa
--- /dev/null
+++ b/contrib/libs/python/Include_prev/code.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <code.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/code.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/codecs.h b/contrib/libs/python/Include_prev/codecs.h
new file mode 100644
index 00000000000..c603db5bea8
--- /dev/null
+++ b/contrib/libs/python/Include_prev/codecs.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/codecs.h>
+#else
+#include <contrib/tools/python/src/Include/codecs.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/compile.h b/contrib/libs/python/Include_prev/compile.h
new file mode 100644
index 00000000000..23dc4018f6c
--- /dev/null
+++ b/contrib/libs/python/Include_prev/compile.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/compile.h>
+#else
+#include <contrib/tools/python/src/Include/compile.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/complexobject.h b/contrib/libs/python/Include_prev/complexobject.h
new file mode 100644
index 00000000000..e0c01f49973
--- /dev/null
+++ b/contrib/libs/python/Include_prev/complexobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/complexobject.h>
+#else
+#include <contrib/tools/python/src/Include/complexobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/config_platform.h b/contrib/libs/python/Include_prev/config_platform.h
new file mode 100644
index 00000000000..f1bdf339fe8
--- /dev/null
+++ b/contrib/libs/python/Include_prev/config_platform.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <config_platform.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/config_platform.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/abstract.h b/contrib/libs/python/Include_prev/cpython/abstract.h
new file mode 100644
index 00000000000..a77ea8b16fe
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/abstract.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/abstract.h>
+#else
+#error "No <cpython/abstract.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/bytearrayobject.h b/contrib/libs/python/Include_prev/cpython/bytearrayobject.h
new file mode 100644
index 00000000000..c0f4323d596
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/bytearrayobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/bytearrayobject.h>
+#else
+#error "No <cpython/bytearrayobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/bytesobject.h b/contrib/libs/python/Include_prev/cpython/bytesobject.h
new file mode 100644
index 00000000000..26b1adffb70
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/bytesobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/bytesobject.h>
+#else
+#error "No <cpython/bytesobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/cellobject.h b/contrib/libs/python/Include_prev/cpython/cellobject.h
new file mode 100644
index 00000000000..44cd1ee544c
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/cellobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/cellobject.h>
+#else
+#error "No <cpython/cellobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/ceval.h b/contrib/libs/python/Include_prev/cpython/ceval.h
new file mode 100644
index 00000000000..7918753a37e
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/ceval.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/ceval.h>
+#else
+#error "No <cpython/ceval.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/classobject.h b/contrib/libs/python/Include_prev/cpython/classobject.h
new file mode 100644
index 00000000000..7a665a23611
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/classobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/classobject.h>
+#else
+#error "No <cpython/classobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/code.h b/contrib/libs/python/Include_prev/cpython/code.h
new file mode 100644
index 00000000000..0c510c6ca72
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/code.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/code.h>
+#else
+#error "No <cpython/code.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/compile.h b/contrib/libs/python/Include_prev/cpython/compile.h
new file mode 100644
index 00000000000..180e79003b7
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/compile.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/compile.h>
+#else
+#error "No <cpython/compile.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/complexobject.h b/contrib/libs/python/Include_prev/cpython/complexobject.h
new file mode 100644
index 00000000000..1213573e003
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/complexobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/complexobject.h>
+#else
+#error "No <cpython/complexobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/context.h b/contrib/libs/python/Include_prev/cpython/context.h
new file mode 100644
index 00000000000..b7da75eddfc
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/context.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/context.h>
+#else
+#error "No <cpython/context.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/descrobject.h b/contrib/libs/python/Include_prev/cpython/descrobject.h
new file mode 100644
index 00000000000..0728d423f15
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/descrobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/descrobject.h>
+#else
+#error "No <cpython/descrobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/dictobject.h b/contrib/libs/python/Include_prev/cpython/dictobject.h
new file mode 100644
index 00000000000..d14a32ae020
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/dictobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/dictobject.h>
+#else
+#error "No <cpython/dictobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/fileobject.h b/contrib/libs/python/Include_prev/cpython/fileobject.h
new file mode 100644
index 00000000000..1e706a8d8ee
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/fileobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/fileobject.h>
+#else
+#error "No <cpython/fileobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/fileutils.h b/contrib/libs/python/Include_prev/cpython/fileutils.h
new file mode 100644
index 00000000000..b25f3764094
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/fileutils.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/fileutils.h>
+#else
+#error "No <cpython/fileutils.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/floatobject.h b/contrib/libs/python/Include_prev/cpython/floatobject.h
new file mode 100644
index 00000000000..eb8bb8641b7
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/floatobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/floatobject.h>
+#else
+#error "No <cpython/floatobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/frameobject.h b/contrib/libs/python/Include_prev/cpython/frameobject.h
new file mode 100644
index 00000000000..34e82dfa6e2
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/frameobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/frameobject.h>
+#else
+#error "No <cpython/frameobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/funcobject.h b/contrib/libs/python/Include_prev/cpython/funcobject.h
new file mode 100644
index 00000000000..0a72be828bd
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/funcobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/funcobject.h>
+#else
+#error "No <cpython/funcobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/genobject.h b/contrib/libs/python/Include_prev/cpython/genobject.h
new file mode 100644
index 00000000000..02d6491452f
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/genobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/genobject.h>
+#else
+#error "No <cpython/genobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/import.h b/contrib/libs/python/Include_prev/cpython/import.h
new file mode 100644
index 00000000000..75f14bd301e
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/import.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/import.h>
+#else
+#error "No <cpython/import.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/initconfig.h b/contrib/libs/python/Include_prev/cpython/initconfig.h
new file mode 100644
index 00000000000..e02d64a6446
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/initconfig.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/initconfig.h>
+#else
+#error "No <cpython/initconfig.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/interpreteridobject.h b/contrib/libs/python/Include_prev/cpython/interpreteridobject.h
new file mode 100644
index 00000000000..5f7825eb29d
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/interpreteridobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/interpreteridobject.h>
+#else
+#error "No <cpython/interpreteridobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/listobject.h b/contrib/libs/python/Include_prev/cpython/listobject.h
new file mode 100644
index 00000000000..6db834fe335
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/listobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/listobject.h>
+#else
+#error "No <cpython/listobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/longintrepr.h b/contrib/libs/python/Include_prev/cpython/longintrepr.h
new file mode 100644
index 00000000000..c8a2382ee56
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/longintrepr.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/longintrepr.h>
+#else
+#error "No <cpython/longintrepr.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/longobject.h b/contrib/libs/python/Include_prev/cpython/longobject.h
new file mode 100644
index 00000000000..643f6d4d86c
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/longobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/longobject.h>
+#else
+#error "No <cpython/longobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/memoryobject.h b/contrib/libs/python/Include_prev/cpython/memoryobject.h
new file mode 100644
index 00000000000..cb95e677567
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/memoryobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/memoryobject.h>
+#else
+#error "No <cpython/memoryobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/methodobject.h b/contrib/libs/python/Include_prev/cpython/methodobject.h
new file mode 100644
index 00000000000..9976bf8958e
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/methodobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/methodobject.h>
+#else
+#error "No <cpython/methodobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/modsupport.h b/contrib/libs/python/Include_prev/cpython/modsupport.h
new file mode 100644
index 00000000000..697a347b445
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/modsupport.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/modsupport.h>
+#else
+#error "No <cpython/modsupport.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/object.h b/contrib/libs/python/Include_prev/cpython/object.h
new file mode 100644
index 00000000000..87922ad8fd2
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/object.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/object.h>
+#else
+#error "No <cpython/object.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/objimpl.h b/contrib/libs/python/Include_prev/cpython/objimpl.h
new file mode 100644
index 00000000000..19fb9b590a8
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/objimpl.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/objimpl.h>
+#else
+#error "No <cpython/objimpl.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/odictobject.h b/contrib/libs/python/Include_prev/cpython/odictobject.h
new file mode 100644
index 00000000000..0df555558b4
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/odictobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/odictobject.h>
+#else
+#error "No <cpython/odictobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/picklebufobject.h b/contrib/libs/python/Include_prev/cpython/picklebufobject.h
new file mode 100644
index 00000000000..e7ee5847321
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/picklebufobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/picklebufobject.h>
+#else
+#error "No <cpython/picklebufobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pthread_stubs.h b/contrib/libs/python/Include_prev/cpython/pthread_stubs.h
new file mode 100644
index 00000000000..f3376502e42
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pthread_stubs.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pthread_stubs.h>
+#else
+#error "No <cpython/pthread_stubs.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pyctype.h b/contrib/libs/python/Include_prev/cpython/pyctype.h
new file mode 100644
index 00000000000..1e3df18ccde
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pyctype.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pyctype.h>
+#else
+#error "No <cpython/pyctype.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pydebug.h b/contrib/libs/python/Include_prev/cpython/pydebug.h
new file mode 100644
index 00000000000..5c380aa4a81
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pydebug.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pydebug.h>
+#else
+#error "No <cpython/pydebug.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pyerrors.h b/contrib/libs/python/Include_prev/cpython/pyerrors.h
new file mode 100644
index 00000000000..96bdf0217c8
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pyerrors.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pyerrors.h>
+#else
+#error "No <cpython/pyerrors.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pyfpe.h b/contrib/libs/python/Include_prev/cpython/pyfpe.h
new file mode 100644
index 00000000000..2808d68d202
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pyfpe.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pyfpe.h>
+#else
+#error "No <cpython/pyfpe.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pyframe.h b/contrib/libs/python/Include_prev/cpython/pyframe.h
new file mode 100644
index 00000000000..e899dcdc195
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pyframe.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pyframe.h>
+#else
+#error "No <cpython/pyframe.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pylifecycle.h b/contrib/libs/python/Include_prev/cpython/pylifecycle.h
new file mode 100644
index 00000000000..b5ace827a84
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pylifecycle.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pylifecycle.h>
+#else
+#error "No <cpython/pylifecycle.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pymem.h b/contrib/libs/python/Include_prev/cpython/pymem.h
new file mode 100644
index 00000000000..e40cfdb4e93
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pymem.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pymem.h>
+#else
+#error "No <cpython/pymem.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pystate.h b/contrib/libs/python/Include_prev/cpython/pystate.h
new file mode 100644
index 00000000000..dfa47f9a883
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pystate.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pystate.h>
+#else
+#error "No <cpython/pystate.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pythonrun.h b/contrib/libs/python/Include_prev/cpython/pythonrun.h
new file mode 100644
index 00000000000..f94703717d6
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pythonrun.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pythonrun.h>
+#else
+#error "No <cpython/pythonrun.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pythread.h b/contrib/libs/python/Include_prev/cpython/pythread.h
new file mode 100644
index 00000000000..0896acee778
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pythread.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pythread.h>
+#else
+#error "No <cpython/pythread.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/pytime.h b/contrib/libs/python/Include_prev/cpython/pytime.h
new file mode 100644
index 00000000000..1dadf731430
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/pytime.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/pytime.h>
+#else
+#error "No <cpython/pytime.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/setobject.h b/contrib/libs/python/Include_prev/cpython/setobject.h
new file mode 100644
index 00000000000..18cd3182606
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/setobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/setobject.h>
+#else
+#error "No <cpython/setobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/sysmodule.h b/contrib/libs/python/Include_prev/cpython/sysmodule.h
new file mode 100644
index 00000000000..c5395ee6d5f
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/sysmodule.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/sysmodule.h>
+#else
+#error "No <cpython/sysmodule.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/traceback.h b/contrib/libs/python/Include_prev/cpython/traceback.h
new file mode 100644
index 00000000000..04754a26dc5
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/traceback.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/traceback.h>
+#else
+#error "No <cpython/traceback.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/tupleobject.h b/contrib/libs/python/Include_prev/cpython/tupleobject.h
new file mode 100644
index 00000000000..c5e16c940e9
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/tupleobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/tupleobject.h>
+#else
+#error "No <cpython/tupleobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/unicodeobject.h b/contrib/libs/python/Include_prev/cpython/unicodeobject.h
new file mode 100644
index 00000000000..47653024702
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/unicodeobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/unicodeobject.h>
+#else
+#error "No <cpython/unicodeobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/warnings.h b/contrib/libs/python/Include_prev/cpython/warnings.h
new file mode 100644
index 00000000000..6ffc603b064
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/warnings.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/warnings.h>
+#else
+#error "No <cpython/warnings.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/cpython/weakrefobject.h b/contrib/libs/python/Include_prev/cpython/weakrefobject.h
new file mode 100644
index 00000000000..4eb160ffeba
--- /dev/null
+++ b/contrib/libs/python/Include_prev/cpython/weakrefobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/cpython/weakrefobject.h>
+#else
+#error "No <cpython/weakrefobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/datetime.h b/contrib/libs/python/Include_prev/datetime.h
new file mode 100644
index 00000000000..4efb1381fcd
--- /dev/null
+++ b/contrib/libs/python/Include_prev/datetime.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/datetime.h>
+#else
+#include <contrib/tools/python/src/Include/datetime.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/descrobject.h b/contrib/libs/python/Include_prev/descrobject.h
new file mode 100644
index 00000000000..31b6642fbfa
--- /dev/null
+++ b/contrib/libs/python/Include_prev/descrobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/descrobject.h>
+#else
+#include <contrib/tools/python/src/Include/descrobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/dictobject.h b/contrib/libs/python/Include_prev/dictobject.h
new file mode 100644
index 00000000000..90a1aa1917e
--- /dev/null
+++ b/contrib/libs/python/Include_prev/dictobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/dictobject.h>
+#else
+#include <contrib/tools/python/src/Include/dictobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/dtoa.h b/contrib/libs/python/Include_prev/dtoa.h
new file mode 100644
index 00000000000..8dd9f481f08
--- /dev/null
+++ b/contrib/libs/python/Include_prev/dtoa.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <dtoa.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/dtoa.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/dynamic_annotations.h b/contrib/libs/python/Include_prev/dynamic_annotations.h
new file mode 100644
index 00000000000..e008ac15308
--- /dev/null
+++ b/contrib/libs/python/Include_prev/dynamic_annotations.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/dynamic_annotations.h>
+#else
+#error "No <dynamic_annotations.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/enumobject.h b/contrib/libs/python/Include_prev/enumobject.h
new file mode 100644
index 00000000000..3b297b6a95b
--- /dev/null
+++ b/contrib/libs/python/Include_prev/enumobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/enumobject.h>
+#else
+#include <contrib/tools/python/src/Include/enumobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/errcode.h b/contrib/libs/python/Include_prev/errcode.h
new file mode 100644
index 00000000000..8b2de27fccc
--- /dev/null
+++ b/contrib/libs/python/Include_prev/errcode.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/errcode.h>
+#else
+#include <contrib/tools/python/src/Include/errcode.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/eval.h b/contrib/libs/python/Include_prev/eval.h
new file mode 100644
index 00000000000..467ed19be3e
--- /dev/null
+++ b/contrib/libs/python/Include_prev/eval.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <eval.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/eval.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/exports.h b/contrib/libs/python/Include_prev/exports.h
new file mode 100644
index 00000000000..9b720835e38
--- /dev/null
+++ b/contrib/libs/python/Include_prev/exports.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/exports.h>
+#else
+#error "No <exports.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/fileobject.h b/contrib/libs/python/Include_prev/fileobject.h
new file mode 100644
index 00000000000..be8e57b530a
--- /dev/null
+++ b/contrib/libs/python/Include_prev/fileobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/fileobject.h>
+#else
+#include <contrib/tools/python/src/Include/fileobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/fileutils.h b/contrib/libs/python/Include_prev/fileutils.h
new file mode 100644
index 00000000000..f8ec5644835
--- /dev/null
+++ b/contrib/libs/python/Include_prev/fileutils.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/fileutils.h>
+#else
+#error "No <fileutils.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/floatobject.h b/contrib/libs/python/Include_prev/floatobject.h
new file mode 100644
index 00000000000..29f1e1b23d6
--- /dev/null
+++ b/contrib/libs/python/Include_prev/floatobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/floatobject.h>
+#else
+#include <contrib/tools/python/src/Include/floatobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/frameobject.h b/contrib/libs/python/Include_prev/frameobject.h
new file mode 100644
index 00000000000..281c90e332a
--- /dev/null
+++ b/contrib/libs/python/Include_prev/frameobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/frameobject.h>
+#else
+#include <contrib/tools/python/src/Include/frameobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/funcobject.h b/contrib/libs/python/Include_prev/funcobject.h
new file mode 100644
index 00000000000..f09fbcc132d
--- /dev/null
+++ b/contrib/libs/python/Include_prev/funcobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <funcobject.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/funcobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/genericaliasobject.h b/contrib/libs/python/Include_prev/genericaliasobject.h
new file mode 100644
index 00000000000..02023964252
--- /dev/null
+++ b/contrib/libs/python/Include_prev/genericaliasobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/genericaliasobject.h>
+#else
+#error "No <genericaliasobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/genobject.h b/contrib/libs/python/Include_prev/genobject.h
new file mode 100644
index 00000000000..20ef033ae4d
--- /dev/null
+++ b/contrib/libs/python/Include_prev/genobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <genobject.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/genobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/graminit.h b/contrib/libs/python/Include_prev/graminit.h
new file mode 100644
index 00000000000..ebd9b447a77
--- /dev/null
+++ b/contrib/libs/python/Include_prev/graminit.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <graminit.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/graminit.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/grammar.h b/contrib/libs/python/Include_prev/grammar.h
new file mode 100644
index 00000000000..e62e19be6f8
--- /dev/null
+++ b/contrib/libs/python/Include_prev/grammar.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <grammar.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/grammar.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/import.h b/contrib/libs/python/Include_prev/import.h
new file mode 100644
index 00000000000..e416a79fe40
--- /dev/null
+++ b/contrib/libs/python/Include_prev/import.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/import.h>
+#else
+#include <contrib/tools/python/src/Include/import.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/internal/pycore_frame.h b/contrib/libs/python/Include_prev/internal/pycore_frame.h
new file mode 100644
index 00000000000..92f1e4c5a13
--- /dev/null
+++ b/contrib/libs/python/Include_prev/internal/pycore_frame.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/internal/pycore_frame.h>
+#else
+#error "No <internal/pycore_frame.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/interpreteridobject.h b/contrib/libs/python/Include_prev/interpreteridobject.h
new file mode 100644
index 00000000000..100a8e37aaa
--- /dev/null
+++ b/contrib/libs/python/Include_prev/interpreteridobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/interpreteridobject.h>
+#else
+#error "No <interpreteridobject.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/intobject.h b/contrib/libs/python/Include_prev/intobject.h
new file mode 100644
index 00000000000..928d04d4811
--- /dev/null
+++ b/contrib/libs/python/Include_prev/intobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <intobject.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/intobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/intrcheck.h b/contrib/libs/python/Include_prev/intrcheck.h
new file mode 100644
index 00000000000..9dfa7e470a5
--- /dev/null
+++ b/contrib/libs/python/Include_prev/intrcheck.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/intrcheck.h>
+#else
+#include <contrib/tools/python/src/Include/intrcheck.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/iterobject.h b/contrib/libs/python/Include_prev/iterobject.h
new file mode 100644
index 00000000000..97c1fd08fa9
--- /dev/null
+++ b/contrib/libs/python/Include_prev/iterobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/iterobject.h>
+#else
+#include <contrib/tools/python/src/Include/iterobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/listobject.h b/contrib/libs/python/Include_prev/listobject.h
new file mode 100644
index 00000000000..fe00de10705
--- /dev/null
+++ b/contrib/libs/python/Include_prev/listobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/listobject.h>
+#else
+#include <contrib/tools/python/src/Include/listobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/longintrepr.h b/contrib/libs/python/Include_prev/longintrepr.h
new file mode 100644
index 00000000000..8284f5b3778
--- /dev/null
+++ b/contrib/libs/python/Include_prev/longintrepr.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <longintrepr.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/longintrepr.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/longobject.h b/contrib/libs/python/Include_prev/longobject.h
new file mode 100644
index 00000000000..ca08cf4a9d5
--- /dev/null
+++ b/contrib/libs/python/Include_prev/longobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/longobject.h>
+#else
+#include <contrib/tools/python/src/Include/longobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/marshal.h b/contrib/libs/python/Include_prev/marshal.h
new file mode 100644
index 00000000000..298e6b81895
--- /dev/null
+++ b/contrib/libs/python/Include_prev/marshal.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/marshal.h>
+#else
+#include <contrib/tools/python/src/Include/marshal.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/memoryobject.h b/contrib/libs/python/Include_prev/memoryobject.h
new file mode 100644
index 00000000000..8e350de0234
--- /dev/null
+++ b/contrib/libs/python/Include_prev/memoryobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/memoryobject.h>
+#else
+#include <contrib/tools/python/src/Include/memoryobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/metagrammar.h b/contrib/libs/python/Include_prev/metagrammar.h
new file mode 100644
index 00000000000..2f5ba83dbbc
--- /dev/null
+++ b/contrib/libs/python/Include_prev/metagrammar.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <metagrammar.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/metagrammar.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/methodobject.h b/contrib/libs/python/Include_prev/methodobject.h
new file mode 100644
index 00000000000..75fa37afcbe
--- /dev/null
+++ b/contrib/libs/python/Include_prev/methodobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/methodobject.h>
+#else
+#include <contrib/tools/python/src/Include/methodobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/modsupport.h b/contrib/libs/python/Include_prev/modsupport.h
new file mode 100644
index 00000000000..8425b7adbcd
--- /dev/null
+++ b/contrib/libs/python/Include_prev/modsupport.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/modsupport.h>
+#else
+#include <contrib/tools/python/src/Include/modsupport.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/moduleobject.h b/contrib/libs/python/Include_prev/moduleobject.h
new file mode 100644
index 00000000000..018f16ce058
--- /dev/null
+++ b/contrib/libs/python/Include_prev/moduleobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/moduleobject.h>
+#else
+#include <contrib/tools/python/src/Include/moduleobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/node.h b/contrib/libs/python/Include_prev/node.h
new file mode 100644
index 00000000000..837936a8f49
--- /dev/null
+++ b/contrib/libs/python/Include_prev/node.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <node.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/node.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/object.h b/contrib/libs/python/Include_prev/object.h
new file mode 100644
index 00000000000..3a08d72677a
--- /dev/null
+++ b/contrib/libs/python/Include_prev/object.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/object.h>
+#else
+#include <contrib/tools/python/src/Include/object.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/objimpl.h b/contrib/libs/python/Include_prev/objimpl.h
new file mode 100644
index 00000000000..c844ec0d7cf
--- /dev/null
+++ b/contrib/libs/python/Include_prev/objimpl.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/objimpl.h>
+#else
+#include <contrib/tools/python/src/Include/objimpl.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/opcode.h b/contrib/libs/python/Include_prev/opcode.h
new file mode 100644
index 00000000000..f9b6b5cfa2e
--- /dev/null
+++ b/contrib/libs/python/Include_prev/opcode.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/opcode.h>
+#else
+#include <contrib/tools/python/src/Include/opcode.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/osdefs.h b/contrib/libs/python/Include_prev/osdefs.h
new file mode 100644
index 00000000000..debdaf8b7b4
--- /dev/null
+++ b/contrib/libs/python/Include_prev/osdefs.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/osdefs.h>
+#else
+#include <contrib/tools/python/src/Include/osdefs.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/osmodule.h b/contrib/libs/python/Include_prev/osmodule.h
new file mode 100644
index 00000000000..608585172b2
--- /dev/null
+++ b/contrib/libs/python/Include_prev/osmodule.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/osmodule.h>
+#else
+#error "No <osmodule.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/parsetok.h b/contrib/libs/python/Include_prev/parsetok.h
new file mode 100644
index 00000000000..36a4c9df55d
--- /dev/null
+++ b/contrib/libs/python/Include_prev/parsetok.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <parsetok.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/parsetok.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/patchlevel.h b/contrib/libs/python/Include_prev/patchlevel.h
new file mode 100644
index 00000000000..d4c846ea333
--- /dev/null
+++ b/contrib/libs/python/Include_prev/patchlevel.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/patchlevel.h>
+#else
+#include <contrib/tools/python/src/Include/patchlevel.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pgen.h b/contrib/libs/python/Include_prev/pgen.h
new file mode 100644
index 00000000000..c01d3fc937a
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pgen.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <pgen.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/pgen.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pgenheaders.h b/contrib/libs/python/Include_prev/pgenheaders.h
new file mode 100644
index 00000000000..d55ca617f7a
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pgenheaders.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <pgenheaders.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/pgenheaders.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/py_curses.h b/contrib/libs/python/Include_prev/py_curses.h
new file mode 100644
index 00000000000..4051b889848
--- /dev/null
+++ b/contrib/libs/python/Include_prev/py_curses.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/py_curses.h>
+#else
+#include <contrib/tools/python/src/Include/py_curses.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pyarena.h b/contrib/libs/python/Include_prev/pyarena.h
new file mode 100644
index 00000000000..cbc4f97fdba
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pyarena.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <pyarena.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/pyarena.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pybuffer.h b/contrib/libs/python/Include_prev/pybuffer.h
new file mode 100644
index 00000000000..4847d539765
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pybuffer.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pybuffer.h>
+#else
+#error "No <pybuffer.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/pycapsule.h b/contrib/libs/python/Include_prev/pycapsule.h
new file mode 100644
index 00000000000..56c1846afd0
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pycapsule.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pycapsule.h>
+#else
+#include <contrib/tools/python/src/Include/pycapsule.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pyconfig.h b/contrib/libs/python/Include_prev/pyconfig.h
new file mode 100644
index 00000000000..c91dd5ee283
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pyconfig.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pyconfig.h>
+#else
+#include <contrib/tools/python/src/Include/pyconfig.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pyctype.h b/contrib/libs/python/Include_prev/pyctype.h
new file mode 100644
index 00000000000..6245df11e3d
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pyctype.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <pyctype.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/pyctype.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pydebug.h b/contrib/libs/python/Include_prev/pydebug.h
new file mode 100644
index 00000000000..b2d0d5ded18
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pydebug.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <pydebug.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/pydebug.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pydtrace.h b/contrib/libs/python/Include_prev/pydtrace.h
new file mode 100644
index 00000000000..e87a27f5482
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pydtrace.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pydtrace.h>
+#else
+#error "No <pydtrace.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/pyerrors.h b/contrib/libs/python/Include_prev/pyerrors.h
new file mode 100644
index 00000000000..006dbf5071f
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pyerrors.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pyerrors.h>
+#else
+#include <contrib/tools/python/src/Include/pyerrors.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pyexpat.h b/contrib/libs/python/Include_prev/pyexpat.h
new file mode 100644
index 00000000000..31f73f0314d
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pyexpat.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pyexpat.h>
+#else
+#include <contrib/tools/python/src/Include/pyexpat.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pyfpe.h b/contrib/libs/python/Include_prev/pyfpe.h
new file mode 100644
index 00000000000..b7997adb183
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pyfpe.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <pyfpe.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/pyfpe.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pyframe.h b/contrib/libs/python/Include_prev/pyframe.h
new file mode 100644
index 00000000000..24d7f199046
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pyframe.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pyframe.h>
+#else
+#error "No <pyframe.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/pygetopt.h b/contrib/libs/python/Include_prev/pygetopt.h
new file mode 100644
index 00000000000..9d66973417f
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pygetopt.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <pygetopt.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/pygetopt.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pyhash.h b/contrib/libs/python/Include_prev/pyhash.h
new file mode 100644
index 00000000000..eab02e02081
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pyhash.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pyhash.h>
+#else
+#error "No <pyhash.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/pylifecycle.h b/contrib/libs/python/Include_prev/pylifecycle.h
new file mode 100644
index 00000000000..2cda31792fa
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pylifecycle.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pylifecycle.h>
+#else
+#error "No <pylifecycle.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/pymacconfig.h b/contrib/libs/python/Include_prev/pymacconfig.h
new file mode 100644
index 00000000000..332dc3660e3
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pymacconfig.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pymacconfig.h>
+#else
+#include <contrib/tools/python/src/Include/pymacconfig.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pymacro.h b/contrib/libs/python/Include_prev/pymacro.h
new file mode 100644
index 00000000000..10328fccc7c
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pymacro.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pymacro.h>
+#else
+#error "No <pymacro.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/pymactoolbox.h b/contrib/libs/python/Include_prev/pymactoolbox.h
new file mode 100644
index 00000000000..6323e4525b1
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pymactoolbox.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <pymactoolbox.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/pymactoolbox.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pymath.h b/contrib/libs/python/Include_prev/pymath.h
new file mode 100644
index 00000000000..7d753f4fd15
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pymath.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pymath.h>
+#else
+#include <contrib/tools/python/src/Include/pymath.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pymem.h b/contrib/libs/python/Include_prev/pymem.h
new file mode 100644
index 00000000000..8797d75c985
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pymem.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pymem.h>
+#else
+#include <contrib/tools/python/src/Include/pymem.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pyport.h b/contrib/libs/python/Include_prev/pyport.h
new file mode 100644
index 00000000000..e5da39d928c
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pyport.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pyport.h>
+#else
+#include <contrib/tools/python/src/Include/pyport.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pystate.h b/contrib/libs/python/Include_prev/pystate.h
new file mode 100644
index 00000000000..ac382e0755a
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pystate.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pystate.h>
+#else
+#include <contrib/tools/python/src/Include/pystate.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pystats.h b/contrib/libs/python/Include_prev/pystats.h
new file mode 100644
index 00000000000..3a48468117a
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pystats.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pystats.h>
+#else
+#error "No <pystats.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/pystrcmp.h b/contrib/libs/python/Include_prev/pystrcmp.h
new file mode 100644
index 00000000000..97d1d2a17ac
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pystrcmp.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pystrcmp.h>
+#else
+#include <contrib/tools/python/src/Include/pystrcmp.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pystrtod.h b/contrib/libs/python/Include_prev/pystrtod.h
new file mode 100644
index 00000000000..99312bfb972
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pystrtod.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pystrtod.h>
+#else
+#include <contrib/tools/python/src/Include/pystrtod.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pythonrun.h b/contrib/libs/python/Include_prev/pythonrun.h
new file mode 100644
index 00000000000..7601ee09385
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pythonrun.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pythonrun.h>
+#else
+#include <contrib/tools/python/src/Include/pythonrun.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pythread.h b/contrib/libs/python/Include_prev/pythread.h
new file mode 100644
index 00000000000..90dadc6b16e
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pythread.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pythread.h>
+#else
+#include <contrib/tools/python/src/Include/pythread.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/pytypedefs.h b/contrib/libs/python/Include_prev/pytypedefs.h
new file mode 100644
index 00000000000..9cb07b8c0e9
--- /dev/null
+++ b/contrib/libs/python/Include_prev/pytypedefs.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/pytypedefs.h>
+#else
+#error "No <pytypedefs.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/rangeobject.h b/contrib/libs/python/Include_prev/rangeobject.h
new file mode 100644
index 00000000000..2212a5fc398
--- /dev/null
+++ b/contrib/libs/python/Include_prev/rangeobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/rangeobject.h>
+#else
+#include <contrib/tools/python/src/Include/rangeobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/setobject.h b/contrib/libs/python/Include_prev/setobject.h
new file mode 100644
index 00000000000..d92dc695872
--- /dev/null
+++ b/contrib/libs/python/Include_prev/setobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/setobject.h>
+#else
+#include <contrib/tools/python/src/Include/setobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/sliceobject.h b/contrib/libs/python/Include_prev/sliceobject.h
new file mode 100644
index 00000000000..4f75d9a3233
--- /dev/null
+++ b/contrib/libs/python/Include_prev/sliceobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/sliceobject.h>
+#else
+#include <contrib/tools/python/src/Include/sliceobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/stringobject.h b/contrib/libs/python/Include_prev/stringobject.h
new file mode 100644
index 00000000000..99b19c85068
--- /dev/null
+++ b/contrib/libs/python/Include_prev/stringobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <stringobject.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/stringobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/structmember.h b/contrib/libs/python/Include_prev/structmember.h
new file mode 100644
index 00000000000..a4f895aa1c4
--- /dev/null
+++ b/contrib/libs/python/Include_prev/structmember.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/structmember.h>
+#else
+#include <contrib/tools/python/src/Include/structmember.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/structseq.h b/contrib/libs/python/Include_prev/structseq.h
new file mode 100644
index 00000000000..11a126d38cf
--- /dev/null
+++ b/contrib/libs/python/Include_prev/structseq.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/structseq.h>
+#else
+#include <contrib/tools/python/src/Include/structseq.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/symtable.h b/contrib/libs/python/Include_prev/symtable.h
new file mode 100644
index 00000000000..625830fa358
--- /dev/null
+++ b/contrib/libs/python/Include_prev/symtable.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <symtable.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/symtable.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/sysmodule.h b/contrib/libs/python/Include_prev/sysmodule.h
new file mode 100644
index 00000000000..5a68beb0693
--- /dev/null
+++ b/contrib/libs/python/Include_prev/sysmodule.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/sysmodule.h>
+#else
+#include <contrib/tools/python/src/Include/sysmodule.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/timefuncs.h b/contrib/libs/python/Include_prev/timefuncs.h
new file mode 100644
index 00000000000..bb017789b74
--- /dev/null
+++ b/contrib/libs/python/Include_prev/timefuncs.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <timefuncs.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/timefuncs.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/token.h b/contrib/libs/python/Include_prev/token.h
new file mode 100644
index 00000000000..0c9a941602a
--- /dev/null
+++ b/contrib/libs/python/Include_prev/token.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <token.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/token.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/traceback.h b/contrib/libs/python/Include_prev/traceback.h
new file mode 100644
index 00000000000..b9d175cedd5
--- /dev/null
+++ b/contrib/libs/python/Include_prev/traceback.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/traceback.h>
+#else
+#include <contrib/tools/python/src/Include/traceback.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/tracemalloc.h b/contrib/libs/python/Include_prev/tracemalloc.h
new file mode 100644
index 00000000000..74c9509b06a
--- /dev/null
+++ b/contrib/libs/python/Include_prev/tracemalloc.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/tracemalloc.h>
+#else
+#error "No <tracemalloc.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/tupleobject.h b/contrib/libs/python/Include_prev/tupleobject.h
new file mode 100644
index 00000000000..5f04228e973
--- /dev/null
+++ b/contrib/libs/python/Include_prev/tupleobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/tupleobject.h>
+#else
+#include <contrib/tools/python/src/Include/tupleobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/typeslots.h b/contrib/libs/python/Include_prev/typeslots.h
new file mode 100644
index 00000000000..b75f7ca1300
--- /dev/null
+++ b/contrib/libs/python/Include_prev/typeslots.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/typeslots.h>
+#else
+#error "No <typeslots.h> in Python2"
+#endif
diff --git a/contrib/libs/python/Include_prev/ucnhash.h b/contrib/libs/python/Include_prev/ucnhash.h
new file mode 100644
index 00000000000..5583f1af0ca
--- /dev/null
+++ b/contrib/libs/python/Include_prev/ucnhash.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#error "No <ucnhash.h> in Python3"
+#else
+#include <contrib/tools/python/src/Include/ucnhash.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/unicodeobject.h b/contrib/libs/python/Include_prev/unicodeobject.h
new file mode 100644
index 00000000000..0508713e7fe
--- /dev/null
+++ b/contrib/libs/python/Include_prev/unicodeobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/unicodeobject.h>
+#else
+#include <contrib/tools/python/src/Include/unicodeobject.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/warnings.h b/contrib/libs/python/Include_prev/warnings.h
new file mode 100644
index 00000000000..18f0be7e78d
--- /dev/null
+++ b/contrib/libs/python/Include_prev/warnings.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/warnings.h>
+#else
+#include <contrib/tools/python/src/Include/warnings.h>
+#endif
diff --git a/contrib/libs/python/Include_prev/weakrefobject.h b/contrib/libs/python/Include_prev/weakrefobject.h
new file mode 100644
index 00000000000..e5d013d926e
--- /dev/null
+++ b/contrib/libs/python/Include_prev/weakrefobject.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#ifdef USE_PYTHON3_PREV
+#include <contrib/tools/python3_prev/Include/weakrefobject.h>
+#else
+#include <contrib/tools/python/src/Include/weakrefobject.h>
+#endif
diff --git a/contrib/libs/python/ya.make b/contrib/libs/python/ya.make
index ae4632145fb..5ccce3af271 100644
--- a/contrib/libs/python/ya.make
+++ b/contrib/libs/python/ya.make
@@ -9,9 +9,15 @@ WITHOUT_LICENSE_TEXTS()
NO_PYTHON_INCLUDES()
IF (USE_ARCADIA_PYTHON)
- ADDINCL(
- GLOBAL contrib/libs/python/Include
- )
+ IF (USE_PYTHON3_PREV)
+ ADDINCL(
+ GLOBAL contrib/libs/python/Include_prev
+ )
+ ELSE()
+ ADDINCL(
+ GLOBAL contrib/libs/python/Include
+ )
+ ENDIF()
PEERDIR(
library/python/symbols/module
@@ -35,11 +41,26 @@ IF (USE_ARCADIA_PYTHON)
CFLAGS(
GLOBAL -DUSE_PYTHON3
)
+
PEERDIR(
- contrib/tools/python3/lib2
- contrib/tools/python3
library/python/runtime_py3
)
+
+ IF (USE_PYTHON3_PREV)
+ PEERDIR(
+ contrib/tools/python3_prev/lib2
+ contrib/tools/python3_prev
+ )
+
+ CFLAGS(
+ GLOBAL -DUSE_PYTHON3_PREV
+ )
+ ELSE()
+ PEERDIR(
+ contrib/tools/python3/lib2
+ contrib/tools/python3
+ )
+ ENDIF()
ENDIF()
ELSE()
IF (USE_SYSTEM_PYTHON)