patch 9.1.0669: if_python: stable python ABI not used by default
Problem: stable python ABI not used by default
Solution: Enable stable python ABI v3.8 when building with python3/dyn
by default, update the default Python3 version to 3.8 for
MS-Windows (Ken Takata)
closes: #15470
related: #15457
Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak
index d3b04e8..8aeba67 100644
--- a/src/Make_cyg_ming.mak
+++ b/src/Make_cyg_ming.mak
@@ -391,14 +391,19 @@
# Python3 interface:
# PYTHON3=[Path to Python3 directory] (Set inside Make_cyg.mak or Make_ming.mak)
# DYNAMIC_PYTHON3=yes (to load the Python3 DLL dynamically)
-# PYTHON3_VER=[Python3 version, eg 31, 32] (default is 36)
+# PYTHON3_VER=[Python3 version, eg 31, 32] (default is 38)
ifdef PYTHON3
ifndef DYNAMIC_PYTHON3
DYNAMIC_PYTHON3=yes
endif
+ ifndef DYNAMIC_PYTHON3_STABLE_ABI
+ ifeq (yes,$(DYNAMIC_PYTHON3))
+DYNAMIC_PYTHON3_STABLE_ABI=yes
+ endif
+ endif
ifndef PYTHON3_VER
-PYTHON3_VER=36
+PYTHON3_VER=38
endif
ifeq ($(DYNAMIC_PYTHON3_STABLE_ABI),yes)
PYTHON3_NAME=python3
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index 296d49e..49d8a33 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -80,7 +80,7 @@
# Python3 interface:
# PYTHON3=[Path to Python3 directory]
# DYNAMIC_PYTHON3=yes (to load the Python3 DLL dynamically)
-# PYTHON3_VER=[Python3 version, eg 30, 31] (default is 36)
+# PYTHON3_VER=[Python3 version, eg 30, 31] (default is 38)
#
# Ruby interface:
# RUBY=[Path to Ruby directory]
@@ -994,8 +994,13 @@
# PYTHON3 interface
!ifdef PYTHON3
+! ifndef DYNAMIC_PYTHON3_STABLE_ABI
+! if "$(DYNAMIC_PYTHON3)" == "yes"
+DYNAMIC_PYTHON3_STABLE_ABI = yes
+! endif
+! endif
! ifndef PYTHON3_VER
-PYTHON3_VER = 36
+PYTHON3_VER = 38
! endif
! if "$(DYNAMIC_PYTHON3_STABLE_ABI)" == "yes"
PYTHON3_NAME = python3
diff --git a/src/auto/configure b/src/auto/configure
index 26ac458..f094827 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -1575,7 +1575,7 @@
--with-python-command=NAME name of the Python 2 command (default: python2 or python)
--with-python-config-dir=PATH Python's config directory (deprecated)
--with-python3-command=NAME name of the Python 3 command (default: python3 or python)
- --with-python3-stable-abi=VERSION stable ABI version to target (e.g. 3.8)
+ --with-python3-stable-abi=VERSION stable ABI version to target (default: 3.8)
--with-python3-config-dir=PATH Python's config directory (deprecated)
--with-tclsh=PATH which tclsh to use (default: tclsh8.0)
--with-ruby-command=RUBY name of the Ruby command (default: ruby)
@@ -7083,21 +7083,30 @@
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yep" >&5
printf "%s\n" "yep" >&6; }
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking --with-python3-stable-abi argument" >&5
+ python3_stable_abi_default=3.8
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking --with-python3-stable-abi argument" >&5
printf %s "checking --with-python3-stable-abi argument... " >&6; }
# Check whether --with-python3-stable-abi was given.
if test ${with_python3_stable_abi+y}
then :
- withval=$with_python3_stable_abi; vi_cv_var_python3_stable_abi="$withval"; { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python3_stable_abi" >&5
+ withval=$with_python3_stable_abi;
+ if test "X$withval" = "Xyes"; then
+ vi_cv_var_python3_stable_abi=$python3_stable_abi_default
+ else
+ vi_cv_var_python3_stable_abi="$withval"
+ fi
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python3_stable_abi" >&5
printf "%s\n" "$vi_cv_var_python3_stable_abi" >&6; }
else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
+
+ vi_cv_var_python3_stable_abi=$python3_stable_abi_default
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no. defaults to $python3_stable_abi_default." >&5
+printf "%s\n" "no. defaults to $python3_stable_abi_default." >&6; }
fi
- if test "X$vi_cv_var_python3_stable_abi" != "X"; then
+ if test "X$vi_cv_var_python3_stable_abi" != "Xno"; then
if test ${vi_cv_var_python3_stable_abi_hex+y}
then :
printf %s "(cached) " >&6
diff --git a/src/configure.ac b/src/configure.ac
index 29cd926..43832dc 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -1539,12 +1539,21 @@
AC_MSG_RESULT(yep)
dnl -- get the stable ABI version if passed in
+ python3_stable_abi_default=3.8
AC_MSG_CHECKING(--with-python3-stable-abi argument)
AC_SUBST(vi_cv_var_python3_stable_abi)
- AC_ARG_WITH(python3-stable-abi, [ --with-python3-stable-abi=VERSION stable ABI version to target (e.g. 3.8)],
- vi_cv_var_python3_stable_abi="$withval"; AC_MSG_RESULT($vi_cv_var_python3_stable_abi),
- AC_MSG_RESULT(no))
- if test "X$vi_cv_var_python3_stable_abi" != "X"; then
+ AC_ARG_WITH(python3-stable-abi, [ --with-python3-stable-abi=VERSION stable ABI version to target (default: 3.8)],
+ [
+ if test "X$withval" = "Xyes"; then
+ vi_cv_var_python3_stable_abi=$python3_stable_abi_default
+ else
+ vi_cv_var_python3_stable_abi="$withval"
+ fi
+ AC_MSG_RESULT($vi_cv_var_python3_stable_abi)],
+ [
+ vi_cv_var_python3_stable_abi=$python3_stable_abi_default
+ AC_MSG_RESULT(no. defaults to $python3_stable_abi_default.)])
+ if test "X$vi_cv_var_python3_stable_abi" != "Xno"; then
AC_CACHE_VAL(vi_cv_var_python3_stable_abi_hex,
[
vi_cv_var_python3_stable_abi_hex=`
diff --git a/src/version.c b/src/version.c
index 965a20d..c58e82e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 669,
+/**/
668,
/**/
667,