Skip to content

Instantly share code, notes, and snippets.

@k-takata
Last active October 14, 2015 02:18
Show Gist options
  • Save k-takata/4292458 to your computer and use it in GitHub Desktop.
Save k-takata/4292458 to your computer and use it in GitHub Desktop.
Fix strange behavior when making Vim
# HG changeset patch
# Parent 274c841f033afce5e46272521827f3e71e4240cd
diff --git a/src/Makefile b/src/Makefile
--- a/src/Makefile
+++ b/src/Makefile
@@ -1653,6 +1653,11 @@
# 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; then \
+ if ! grep -x -F 'ac_cv_env_CFLAGS_value=$(CFLAGS)' auto/config.cache > /dev/null; then \
+ rm auto/config.cache; \
+ fi \
+ 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/configure.in b/src/configure.in
--- a/src/configure.in
+++ b/src/configure.in
@@ -760,6 +760,7 @@
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,
@@ -773,7 +774,9 @@
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"
@@ -1502,7 +1505,9 @@
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"
@@ -3651,7 +3656,7 @@
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)
@@ -3666,7 +3671,7 @@
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment