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 <zdohnal@redhat.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/auto/configure b/src/auto/configure
index b86b391..8582298 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -836,6 +836,7 @@
enable_mzschemeinterp
with_plthome
enable_perlinterp
+with_xsubpp
enable_pythoninterp
with_python_command
with_python_config_dir
@@ -1569,6 +1570,7 @@
--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 @@
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
index dfbe512..2ee9b01 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -1132,13 +1132,34 @@
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
index 1d0573e..6bac0de 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2083,
+/**/
2082,
/**/
2081,