# HG changeset patch # User Bram Moolenaar # Date 1371591115 -7200 # Node ID 9f7b92f232d31450fd04ecec3e89b027c0f28b02 # Parent 8f2fc8c065e4126c760ce7b68670158793242580 updated for version 7.3.1221 Problem: When build flags change "make distclean" run into a configure error. Solution: When CFLAGS changes delete auto/config.cache. Also avoid adding duplicate text to flags. diff --git a/src/Makefile b/src/Makefile --- a/src/Makefile +++ b/src/Makefile @@ -1655,6 +1655,11 @@ tools: $(TOOLS) # sure configure is run when it's needed. # config auto/config.mk: auto/configure config.mk.in config.h.in + if test -f auto/config.cache && \ + grep '^ac_cv_env_CFLAGS_value=' auto/config.cache > /dev/null && \ + ! grep -x -F 'ac_cv_env_CFLAGS_value=$(CFLAGS)' auto/config.cache > /dev/null; then \ + rm auto/config.cache; \ + fi GUI_INC_LOC="$(GUI_INC_LOC)" GUI_LIB_LOC="$(GUI_LIB_LOC)" \ CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \ LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \ diff --git a/src/auto/configure b/src/auto/configure --- a/src/auto/configure +++ b/src/auto/configure @@ -5133,6 +5133,7 @@ fi ldflags_save=$LDFLAGS CFLAGS="$CFLAGS $perlcppflags" LIBS="$LIBS $perllibs" + perlldflags=`echo "$perlldflags" | sed -e 's/^ *//g'` LDFLAGS="$perlldflags $LDFLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5162,7 +5163,9 @@ rm -f core conftest.err conftest.$ac_obj PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[^ ]*//'` fi if test "X$perlldflags" != "X"; then - LDFLAGS="$perlldflags $LDFLAGS" + if test "X`echo \"$LDFLAGS\" | grep -F -e \"$perlldflags\"`" = "X"; then + LDFLAGS="$perlldflags $LDFLAGS" + fi fi PERL_LIBS=$perllibs PERL_SRC="auto/if_perl.c if_perlsfio.c" @@ -6454,7 +6457,9 @@ fi if test "X$rubyldflags" != "X"; then rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'` if test "X$rubyldflags" != "X"; then - LDFLAGS="$rubyldflags $LDFLAGS" + if test "X`echo \"$LDFLAGS\" | grep -F -e \"$rubyldflags\"`" = "X"; then + LDFLAGS="$rubyldflags $LDFLAGS" + fi fi fi RUBY_SRC="if_ruby.c" @@ -12690,7 +12695,7 @@ if test "$GCC" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_FORTIFY_SOURCE=1" >&5 $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; } if test "$gccmajor" -gt "3"; then - CFLAGS=`echo "$CFLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/-D_FORTIFY_SOURCE=.//g' -e 's/$/ -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1/'` + CFLAGS=`echo "$CFLAGS" | sed -e 's/ *-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/ *-D_FORTIFY_SOURCE=.//g' -e 's/ *-U_FORTIFY_SOURCE//g' -e 's/$/ -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1/'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else @@ -12705,7 +12710,7 @@ fi LINK_AS_NEEDED= # Check if linker supports --as-needed and --no-as-needed options if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then - LDFLAGS="$LDFLAGS -Wl,--as-needed" + LDFLAGS=`echo "$LDFLAGS" | sed -e 's/ *-Wl,--as-needed//g' | sed -e 's/$/ -Wl,--as-needed/'` LINK_AS_NEEDED=yes fi if test "$LINK_AS_NEEDED" = yes; then diff --git a/src/configure.in b/src/configure.in --- a/src/configure.in +++ b/src/configure.in @@ -776,6 +776,7 @@ if test "$enable_perlinterp" = "yes" -o ldflags_save=$LDFLAGS CFLAGS="$CFLAGS $perlcppflags" LIBS="$LIBS $perllibs" + perlldflags=`echo "$perlldflags" | sed -e 's/^ *//g'` LDFLAGS="$perlldflags $LDFLAGS" AC_TRY_LINK(,[ ], AC_MSG_RESULT(yes); perl_ok=yes, @@ -789,7 +790,9 @@ if test "$enable_perlinterp" = "yes" -o PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'` fi if test "X$perlldflags" != "X"; then - LDFLAGS="$perlldflags $LDFLAGS" + if test "X`echo \"$LDFLAGS\" | grep -F -e \"$perlldflags\"`" = "X"; then + LDFLAGS="$perlldflags $LDFLAGS" + fi fi PERL_LIBS=$perllibs PERL_SRC="auto/if_perl.c if_perlsfio.c" @@ -1546,7 +1549,9 @@ if test "$enable_rubyinterp" = "yes" -o dnl configure, so strip these flags first (if present) rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'` if test "X$rubyldflags" != "X"; then - LDFLAGS="$rubyldflags $LDFLAGS" + if test "X`echo \"$LDFLAGS\" | grep -F -e \"$rubyldflags\"`" = "X"; then + LDFLAGS="$rubyldflags $LDFLAGS" + fi fi fi RUBY_SRC="if_ruby.c" @@ -3719,7 +3724,7 @@ if test "$GCC" = yes; then dnl And undefine it first to avoid a warning. AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) if test "$gccmajor" -gt "3"; then - CFLAGS=`echo "$CFLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/-D_FORTIFY_SOURCE=.//g' -e 's/$/ -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1/'` + CFLAGS=`echo "$CFLAGS" | sed -e 's/ *-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/ *-D_FORTIFY_SOURCE=.//g' -e 's/ *-U_FORTIFY_SOURCE//g' -e 's/$/ -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1/'` AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) @@ -3734,7 +3739,7 @@ AC_MSG_CHECKING(linker --as-needed suppo LINK_AS_NEEDED= # Check if linker supports --as-needed and --no-as-needed options if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then - LDFLAGS="$LDFLAGS -Wl,--as-needed" + LDFLAGS=`echo "$LDFLAGS" | sed -e 's/ *-Wl,--as-needed//g' | sed -e 's/$/ -Wl,--as-needed/'` LINK_AS_NEEDED=yes fi if test "$LINK_AS_NEEDED" = yes; then diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1221, +/**/ 1220, /**/ 1219,