updated for version 7.3.381
Problem: Configure silently skips interfaces that won't work.
Solution: Add the --enable-fail_if_missing argument. (Shlomi Fish)
diff --git a/src/Makefile b/src/Makefile
index 869298c..754739f 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -389,6 +389,11 @@
#CONF_OPT_PLTHOME = --with-plthome=/usr/local/drscheme
#CONF_OPT_PLTHOME = --with-plthome=/home/me/mz
+# Uncomment the next line to fail if one of the requested language interfaces
+# cannot be configured. Without this Vim will be build anyway, without
+# the failing interfaces.
+#CONF_OPT_FAIL = --enable-fail-if-missing
+
# PERL
# Uncomment one of these when you want to include the Perl interface.
# First one is for static linking, second one for dynamic loading.
@@ -1648,7 +1653,8 @@
CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \
./configure $(CONF_OPT_GUI) $(CONF_OPT_X) $(CONF_OPT_XSMP) \
- $(CONF_OPT_DARWIN) $(CONF_OPT_PERL) $(CONF_OPT_PYTHON) $(CONF_OPT_PYTHON3) \
+ $(CONF_OPT_DARWIN) $(CONF_OPT_FAIL) \
+ $(CONF_OPT_PERL) $(CONF_OPT_PYTHON) $(CONF_OPT_PYTHON3) \
$(CONF_OPT_TCL) $(CONF_OPT_RUBY) $(CONF_OPT_NLS) \
$(CONF_OPT_CSCOPE) $(CONF_OPT_MULTIBYTE) $(CONF_OPT_INPUT) \
$(CONF_OPT_OUTPUT) $(CONF_OPT_GPM) $(CONF_OPT_WORKSHOP) \
diff --git a/src/auto/configure b/src/auto/configure
index 8b72792..a22706d 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -741,6 +741,7 @@
ac_subst_files=''
ac_user_opts='
enable_option_checking
+enable_fail_if_missing
enable_darwin
with_mac_arch
with_developer_dir
@@ -1418,6 +1419,8 @@
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-fail-if-missing Fail if dependencies on additional features
+ specified on the command line are missing.
--disable-darwin Disable Darwin (Mac OS X) support.
--disable-selinux Don't check for SELinux support.
--disable-xsmp Disable XSMP session management
@@ -3949,6 +3952,19 @@
fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-fail-if-missing argument" >&5
+$as_echo_n "checking --enable-fail-if-missing argument... " >&6; }
+# Check whether --enable-fail_if_missing was given.
+if test "${enable_fail_if_missing+set}" = set; then :
+ enableval=$enable_fail_if_missing; fail_if_missing="yes"
+else
+ fail_if_missing="no"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $fail_if_missing" >&5
+$as_echo "$fail_if_missing" >&6; }
+
if test -z "$CFLAGS"; then
CFLAGS="-O"
test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
@@ -4727,6 +4743,9 @@
LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"liblua${vi_cv_version_lua}.so$LUA_SONAME\\\" $LUA_CFLAGS"
fi
fi
+ if test "$fail_if_missing" = "yes" -a -z "$LUA_SRC"; then
+ as_fn_error "could not configure lua" "$LINENO" 5
+ fi
@@ -5140,6 +5159,10 @@
PERL_CFLAGS="-DDYNAMIC_PERL_DLL=\\\"$libperl\\\" $PERL_CFLAGS"
fi
fi
+
+ if test "$fail_if_missing" = "yes" -a "$perl_ok" != "yes"; then
+ as_fn_error "could not configure perl" "$LINENO" 5
+ fi
fi
@@ -5429,6 +5452,10 @@
$as_echo "too old" >&6; }
fi
fi
+
+ if test "$fail_if_missing" = "yes" -a "$python_ok" != "yes"; then
+ as_fn_error "could not configure python" "$LINENO" 5
+ fi
fi
@@ -6216,6 +6243,9 @@
$as_echo "too old; need Tcl version 8.0 or later" >&6; }
fi
fi
+ if test "$fail_if_missing" = "yes" -a -z "$TCL_SRC"; then
+ as_fn_error "could not configure Tcl" "$LINENO" 5
+ fi
fi
@@ -6353,6 +6383,10 @@
$as_echo "too old; need Ruby version 1.6.0 or later" >&6; }
fi
fi
+
+ if test "$fail_if_missing" = "yes" -a -z "$RUBY_OBJ"; then
+ as_fn_error "could not configure Ruby" "$LINENO" 5
+ fi
fi
diff --git a/src/configure.in b/src/configure.in
index 8e3aa8d..55c897a 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -28,6 +28,16 @@
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
+dnl Check for the flag that fails if stuff are missing.
+
+AC_MSG_CHECKING(--enable-fail-if-missing argument)
+AC_ARG_ENABLE(fail_if_missing,
+ [ --enable-fail-if-missing Fail if dependencies on additional features
+ specified on the command line are missing.],
+ [fail_if_missing="yes"],
+ [fail_if_missing="no"])
+AC_MSG_RESULT($fail_if_missing)
+
dnl Set default value for CFLAGS if none is defined or it's empty
if test -z "$CFLAGS"; then
CFLAGS="-O"
@@ -491,6 +501,9 @@
LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"liblua${vi_cv_version_lua}.so$LUA_SONAME\\\" $LUA_CFLAGS"
fi
fi
+ if test "$fail_if_missing" = "yes" -a -z "$LUA_SRC"; then
+ AC_MSG_ERROR([could not configure lua])
+ fi
AC_SUBST(LUA_SRC)
AC_SUBST(LUA_OBJ)
AC_SUBST(LUA_PRO)
@@ -781,6 +794,10 @@
PERL_CFLAGS="-DDYNAMIC_PERL_DLL=\\\"$libperl\\\" $PERL_CFLAGS"
fi
fi
+
+ if test "$fail_if_missing" = "yes" -a "$perl_ok" != "yes"; then
+ AC_MSG_ERROR([could not configure perl])
+ fi
fi
AC_SUBST(shrpenv)
AC_SUBST(PERL_SRC)
@@ -966,6 +983,10 @@
AC_MSG_RESULT(too old)
fi
fi
+
+ if test "$fail_if_missing" = "yes" -a "$python_ok" != "yes"; then
+ AC_MSG_ERROR([could not configure python])
+ fi
fi
AC_SUBST(PYTHON_CONFDIR)
@@ -1389,6 +1410,9 @@
AC_MSG_RESULT(too old; need Tcl version 8.0 or later)
fi
fi
+ if test "$fail_if_missing" = "yes" -a -z "$TCL_SRC"; then
+ AC_MSG_ERROR([could not configure Tcl])
+ fi
fi
AC_SUBST(TCL_SRC)
AC_SUBST(TCL_OBJ)
@@ -1469,6 +1493,10 @@
AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later)
fi
fi
+
+ if test "$fail_if_missing" = "yes" -a -z "$RUBY_OBJ"; then
+ AC_MSG_ERROR([could not configure Ruby])
+ fi
fi
AC_SUBST(RUBY_SRC)
AC_SUBST(RUBY_OBJ)
diff --git a/src/version.c b/src/version.c
index 5a58113..6ee8427 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 381,
+/**/
380,
/**/
379,