changeset 3222:6cc788692b2e v7.3.381

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)
author Bram Moolenaar <bram@vim.org>
date Wed, 14 Dec 2011 20:51:25 +0100
parents 085b8bef0868
children 576648218cb5
files src/Makefile src/auto/configure src/configure.in src/version.c
diffstat 4 files changed, 71 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/Makefile
+++ b/src/Makefile
@@ -389,6 +389,11 @@ CClink = $(CC)
 #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 @@ config auto/config.mk: auto/configure co
 		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) \
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -741,6 +741,7 @@ SHELL'
 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 @@ Optional Features:
   --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 @@ if test $ac_cv_header_sys_wait_h = yes; 
 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 @@ fi
       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 @@ rm -f core conftest.err conftest.$ac_obj
       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 @@ rm -f core conftest.err conftest.$ac_obj
 $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 @@ fi
 $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 @@ fi
 $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
 
 
--- a/src/configure.in
+++ b/src/configure.in
@@ -28,6 +28,16 @@ dnl in autoconf needs it, where it uses 
 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 @@ if test "$enable_luainterp" = "yes" -o "
       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 @@ if test "$enable_perlinterp" = "yes" -o 
       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 @@ eof
       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 @@ if test "$enable_tclinterp" = "yes"; the
       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 @@ if test "$enable_rubyinterp" = "yes" -o 
       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)
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    381,
+/**/
     380,
 /**/
     379,