# HG changeset patch # User Christian Brabandt # Date 1698953404 -3600 # Node ID cdf91c682acf0a3ecede3aab97edd8dcc511d85c # Parent 5844139eef98a88059d168d3a0696373ac359f89 patch 9.0.2083: Perl: xsubpp may be in non-standard location Commit: https://github.com/vim/vim/commit/1b1c9f272ddfa5f1d7d903cd9d59320cb97bfd4b Author: Zdenek Dohnal Date: Thu Nov 2 20:19:06 2023 +0100 patch 9.0.2083: Perl: xsubpp may be in non-standard location Problem: Perl: xsubpp may be in non-standard location Solution: Add --with-subpp configure option configure.ac: Add --with-xsubpp configure option Some environments (such as flatpaks) cannot count on xsubpp being in the common Perl directory, so a configure option should be used for clean solution. closes: #13470 Signed-off-by: Zdenek Dohnal Signed-off-by: Christian Brabandt diff --git a/src/auto/configure b/src/auto/configure --- a/src/auto/configure +++ b/src/auto/configure @@ -836,6 +836,7 @@ with_luajit enable_mzschemeinterp with_plthome enable_perlinterp +with_xsubpp enable_pythoninterp with_python_command with_python_config_dir @@ -1569,6 +1570,7 @@ Optional Packages: --with-lua-prefix=PFX Prefix where Lua is installed. --with-luajit Link with LuaJIT instead of Lua. --with-plthome=PLTHOME Use PLTHOME. + --with-xsubpp=PATH path to the xsubpp command --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) @@ -6455,12 +6457,42 @@ printf "%s\n" "OK" >&6; } vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'` vi_cv_perl_extutils=unknown_perl_extutils_path - for extutils_rel_path in ExtUtils vendor_perl/ExtUtils; do - xsubpp_path="$vi_cv_perllib/$extutils_rel_path/xsubpp" - if test -f "$xsubpp_path"; then - vi_cv_perl_xsubpp="$xsubpp_path" - fi - done + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking --with-xsubpp path" >&5 +printf %s "checking --with-xsubpp path... " >&6; } + vi_cv_perl_xsubpp= + +# Check whether --with-xsubpp was given. +if test ${with_xsubpp+y} +then : + withval=$with_xsubpp; + if test -f "$withval" + then + vi_cv_perl_xsubpp="$withval" + fi + +fi + + + if test "x$vi_cv_perl_xsubpp" = "x" + then + for extutils_rel_path in ExtUtils vendor_perl/ExtUtils; do + xsubpp_path="$vi_cv_perllib/$extutils_rel_path/xsubpp" + if test -f "$xsubpp_path"; then + vi_cv_perl_xsubpp="$xsubpp_path" + fi + done + fi + + if test "x$vi_cv_perl_xsubpp" = "x" + then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: empty" >&5 +printf "%s\n" "empty" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $vi_cv_perl_xsubpp" >&5 +printf "%s\n" "$vi_cv_perl_xsubpp" >&6; } + fi + perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \ -e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[^ ]*//' \ diff --git a/src/configure.ac b/src/configure.ac --- a/src/configure.ac +++ b/src/configure.ac @@ -1132,13 +1132,34 @@ if test "$enable_perlinterp" = "yes" -o vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'` AC_SUBST(vi_cv_perllib) vi_cv_perl_extutils=unknown_perl_extutils_path - for extutils_rel_path in ExtUtils vendor_perl/ExtUtils; do - xsubpp_path="$vi_cv_perllib/$extutils_rel_path/xsubpp" - if test -f "$xsubpp_path"; then - vi_cv_perl_xsubpp="$xsubpp_path" - fi - done + + AC_MSG_CHECKING(--with-xsubpp path) + vi_cv_perl_xsubpp= + AC_ARG_WITH(xsubpp, [ --with-xsubpp=PATH path to the xsubpp command], [ + if test -f "$withval" + then + vi_cv_perl_xsubpp="$withval" + fi + ]) + + if test "x$vi_cv_perl_xsubpp" = "x" + then + for extutils_rel_path in ExtUtils vendor_perl/ExtUtils; do + xsubpp_path="$vi_cv_perllib/$extutils_rel_path/xsubpp" + if test -f "$xsubpp_path"; then + vi_cv_perl_xsubpp="$xsubpp_path" + fi + done + fi + + if test "x$vi_cv_perl_xsubpp" = "x" + then + AC_MSG_RESULT(empty) + else + AC_MSG_RESULT($vi_cv_perl_xsubpp) + fi AC_SUBST(vi_cv_perl_xsubpp) + dnl Remove "-fno-something", it breaks using cproto. dnl Remove "-fdebug-prefix-map", it isn't supported by clang. dnl Remove "FORTIFY_SOURCE", it will be defined twice. diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2083, +/**/ 2082, /**/ 2081,