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,