mirror of
https://github.com/vim/vim.git
synced 2025-10-23 08:44:20 -04:00
patch 9.0.1794: autoconf: not correctly detecing include dirs
Problem: autoconf: not correctly detecing include dirs
Solution: make use of python3 to generate includedirs
configure: Python3: Use sysconfig for -I
It seems better to use tools provided by Python for determining the
include directories, rather than construct them "manually".
Current system is broken when using virtual environments for python
3.11.4. It used to work before, but now it detects a incorrect value
for `-I`.
It would probably make sense to switch to a similar logic for lib
folders, that is for the `-l` switch. There are also
`sysconfig.get_config_h_filename()` and
`sysconfig.get_makefile_filename()`, that could replace more Python
specific logic in the current `configure{.ac,}`.
sysconfig provides the necessary tools since Python 2.7.
closes: #12889
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
This commit is contained in:
committed by
Christian Brabandt
parent
f39842f148
commit
74e1dada41
30
src/auto/configure
vendored
30
src/auto/configure
vendored
@@ -6775,6 +6775,30 @@ fi
|
|||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_path_python3_epfx" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_path_python3_epfx" >&5
|
||||||
$as_echo "$vi_cv_path_python3_epfx" >&6; }
|
$as_echo "$vi_cv_path_python3_epfx" >&6; }
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's include path" >&5
|
||||||
|
$as_echo_n "checking Python's include path... " >&6; }
|
||||||
|
if ${vi_cv_path_python3_include+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
vi_cv_path_python3_include=`
|
||||||
|
${vi_cv_path_python3} -c \
|
||||||
|
"import sysconfig; print(sysconfig.get_path(\"include\"))"`
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_path_python3_include" >&5
|
||||||
|
$as_echo "$vi_cv_path_python3_include" >&6; }
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's include path" >&5
|
||||||
|
$as_echo_n "checking Python's include path... " >&6; }
|
||||||
|
if ${vi_cv_path_python3_platinclude+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
vi_cv_path_python3_platinclude=`
|
||||||
|
${vi_cv_path_python3} -c \
|
||||||
|
"import sysconfig; print(sysconfig.get_path(\"platinclude\"))"`
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_path_python3_platinclude" >&5
|
||||||
|
$as_echo "$vi_cv_path_python3_platinclude" >&6; }
|
||||||
|
|
||||||
|
|
||||||
if ${vi_cv_path_python3path+:} false; then :
|
if ${vi_cv_path_python3path+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
@@ -6873,10 +6897,10 @@ fi
|
|||||||
$as_echo "$vi_cv_dll_name_python3" >&6; }
|
$as_echo "$vi_cv_dll_name_python3" >&6; }
|
||||||
|
|
||||||
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
|
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
|
||||||
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
|
if test "${vi_cv_path_python3_include}" = "${vi_cv_path_python3_platinclude}"; then
|
||||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
|
PYTHON3_CFLAGS="-I${vi_cv_path_python3_include}"
|
||||||
else
|
else
|
||||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
|
PYTHON3_CFLAGS="-I${vi_cv_path_python3_include} -I${vi_cv_path_python3_platinclude}"
|
||||||
fi
|
fi
|
||||||
if test "X$have_python3_config_dir" = "X1" -a "$enable_python3interp" = "dynamic"; then
|
if test "X$have_python3_config_dir" = "X1" -a "$enable_python3interp" = "dynamic"; then
|
||||||
PYTHON3_CFLAGS="${PYTHON3_CFLAGS} -DPYTHON3_HOME='L\"${vi_cv_path_python3_pfx}\"'"
|
PYTHON3_CFLAGS="${PYTHON3_CFLAGS} -DPYTHON3_HOME='L\"${vi_cv_path_python3_pfx}\"'"
|
||||||
|
|||||||
@@ -1543,6 +1543,18 @@ if test "$enable_python3interp" = "yes" -o "$enable_python3interp" = "dynamic";
|
|||||||
${vi_cv_path_python3} -c \
|
${vi_cv_path_python3} -c \
|
||||||
"import sys; print(sys.exec_prefix)"` ])
|
"import sys; print(sys.exec_prefix)"` ])
|
||||||
|
|
||||||
|
dnl -- python3's include path
|
||||||
|
AC_CACHE_CHECK(Python's include path,vi_cv_path_python3_include,
|
||||||
|
[ vi_cv_path_python3_include=`
|
||||||
|
${vi_cv_path_python3} -c \
|
||||||
|
"import sysconfig; print(sysconfig.get_path(\"include\"))"` ])
|
||||||
|
|
||||||
|
dnl -- python3's platform include path
|
||||||
|
AC_CACHE_CHECK(Python's include path,vi_cv_path_python3_platinclude,
|
||||||
|
[ vi_cv_path_python3_platinclude=`
|
||||||
|
${vi_cv_path_python3} -c \
|
||||||
|
"import sysconfig; print(sysconfig.get_path(\"platinclude\"))"` ])
|
||||||
|
|
||||||
dnl -- python3's internal library path
|
dnl -- python3's internal library path
|
||||||
|
|
||||||
AC_CACHE_VAL(vi_cv_path_python3path,
|
AC_CACHE_VAL(vi_cv_path_python3path,
|
||||||
@@ -1621,10 +1633,10 @@ eof
|
|||||||
])
|
])
|
||||||
|
|
||||||
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
|
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
|
||||||
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
|
if test "${vi_cv_path_python3_include}" = "${vi_cv_path_python3_platinclude}"; then
|
||||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
|
PYTHON3_CFLAGS="-I${vi_cv_path_python3_include}"
|
||||||
else
|
else
|
||||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
|
PYTHON3_CFLAGS="-I${vi_cv_path_python3_include} -I${vi_cv_path_python3_platinclude}"
|
||||||
fi
|
fi
|
||||||
if test "X$have_python3_config_dir" = "X1" -a "$enable_python3interp" = "dynamic"; then
|
if test "X$have_python3_config_dir" = "X1" -a "$enable_python3interp" = "dynamic"; then
|
||||||
dnl Define PYTHON3_HOME if --with-python-config-dir was used
|
dnl Define PYTHON3_HOME if --with-python-config-dir was used
|
||||||
|
|||||||
@@ -699,6 +699,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1794,
|
||||||
/**/
|
/**/
|
||||||
1793,
|
1793,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user