patch 8.0.0434: clang version not correctly detected
Problem: Clang version not correctly detected.
Solution: Adjust the configure script. (Kazunobu Kuriyama)
diff --git a/src/auto/configure b/src/auto/configure
index b4745ea..34770f8 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -4114,9 +4114,9 @@
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent clang version" >&5
-$as_echo_n "checking for recent clang version... " >&6; }
-CLANG_VERSION_STRING=`$CC --version 2>/dev/null | sed -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clang version" >&5
+$as_echo_n "checking for clang version... " >&6; }
+CLANG_VERSION_STRING=`$CC --version 2>/dev/null | sed -n -e 's/^.*clang[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
if test x"$CLANG_VERSION_STRING" != x"" ; then
CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'`
CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/p'`
@@ -4124,12 +4124,19 @@
CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION`
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CLANG_VERSION" >&5
$as_echo "$CLANG_VERSION" >&6; }
- if test "$CLANG_VERSION" -ge 500002075 ; then
- CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if clang supports -fno-strength-reduce" >&5
+$as_echo_n "checking if clang supports -fno-strength-reduce... " >&6; }
+ if test "$CLANG_VERSION" -ge 500002075 ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ CFLAGS=`echo "$CFLAGS" | sed -e 's/-fno-strength-reduce/ /'`
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: N/A" >&5
+$as_echo "N/A" >&6; }
fi
CROSS_COMPILING=
@@ -10094,6 +10101,18 @@
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /proc/self/exe" >&5
+$as_echo_n "checking for /proc/self/exe... " >&6; }
+if test -L "/proc/self/exe"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ $as_echo "#define HAVE_PROC_SELF_EXE 1" >>confdefs.h
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CYGWIN or MSYS environment" >&5
$as_echo_n "checking for CYGWIN or MSYS environment... " >&6; }
case `uname` in
diff --git a/src/configure.ac b/src/configure.ac
index 1706a8d..113fad1 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -67,8 +67,8 @@
dnl warning when that flag is passed to. Accordingly, adjust CFLAGS based on
dnl the version number of the clang in use.
dnl Note that this does not work to get the version of clang 3.1 or 3.2.
-AC_MSG_CHECKING(for recent clang version)
-CLANG_VERSION_STRING=`$CC --version 2>/dev/null | sed -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'`
+AC_MSG_CHECKING(for clang version)
+CLANG_VERSION_STRING=`$CC --version 2>/dev/null | sed -n -e 's/^.*clang[[^0-9]]*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'`
if test x"$CLANG_VERSION_STRING" != x"" ; then
CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'`
CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/p'`
@@ -79,11 +79,15 @@
dnl change the constant 500002075 below appropriately. To get the
dnl integer corresponding to a version number, refer to the
dnl definition of CLANG_VERSION above.
+ AC_MSG_CHECKING(if clang supports -fno-strength-reduce)
if test "$CLANG_VERSION" -ge 500002075 ; then
- CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
+ AC_MSG_RESULT(no)
+ CFLAGS=`echo "$CFLAGS" | sed -e 's/-fno-strength-reduce/ /'`
+ else
+ AC_MSG_RESULT(yes)
fi
else
- AC_MSG_RESULT(no)
+ AC_MSG_RESULT(N/A)
fi
dnl If configure thinks we are cross compiling, there might be something
@@ -3016,6 +3020,14 @@
dnl end of GUI-checking
dnl ---------------------------------------------------------------------------
+AC_MSG_CHECKING([for /proc/self/exe])
+if test -L "/proc/self/exe"; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_PROC_SELF_EXE)
+else
+ AC_MSG_RESULT(no)
+fi
+
dnl Check for Cygwin, which needs an extra source file if not using X11
AC_MSG_CHECKING(for CYGWIN or MSYS environment)
case `uname` in
diff --git a/src/version.c b/src/version.c
index cbb1bba..2a032c5 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 434,
+/**/
433,
/**/
432,