diff --git a/ChangeLog b/ChangeLog index b2207a41ae..4cd868504e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Apr 1 14:22:52 2013 Nobuyoshi Nakada + + * configure.in: check clang version by predefined macro values. + [Bug #8192] + Mon Apr 1 12:05:15 2013 Tanaka Akira * numeric.c (check_uint): Take the 1st argument as unsigned long, diff --git a/configure.in b/configure.in index 3e436c4b92..3a9a14aa42 100644 --- a/configure.in +++ b/configure.in @@ -396,9 +396,12 @@ AS_CASE(["$host_os:$build_os"], # clang version 1.0 (http://llvm.org/svn/llvm-project/cfe/tags/Apple/clang-23 exported) # Apple clang version 2.0 (tags/Apple/clang-137) (based on LLVM 2.9svn) # Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn) - if test "$CC" = "clang" && $CC --version | grep 'clang version @<:@12 @:>@\.' ; then - AC_MSG_ERROR([clang version 3.0 or later is required]) - fi + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ + @%:@if defined __APPLE_CC__ && defined __clang_major__ && __clang_major__ < 3 + @%:@error premature clang + @%:@endif])], + [], + [AC_MSG_ERROR([clang version 3.0 or later is required])]) ]) if test x"${build}" != x"${host}"; then AC_CHECK_TOOL(CC, gcc)