# HG changeset patch # User Bram Moolenaar # Date 1323892285 -3600 # Node ID 6cc788692b2e8e043a3d7fff4e1efa2601ad39c7 # Parent 085b8bef0868016755bcc97d55e6ff75db5369e5 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 --- 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) \ diff --git a/src/auto/configure b/src/auto/configure --- 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 diff --git a/src/configure.in b/src/configure.in --- 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) diff --git a/src/version.c b/src/version.c --- 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,