[llvm] r199325 - Sink the autoconf check for sufficiently modern host toolchain below the

Quentin Colombet qcolombet at apple.com
Wed Jan 15 11:38:54 PST 2014


Hi Chandler,

I do not know if it was expected, but when I run configure one my iMac running Mavericks, I now get the following error:
checking for clang... clang
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking for clang++... clang++
checking whether we are using the GNU C++ compiler... yes
checking whether clang++ accepts -g... yes
checking how to run the C preprocessor... clang -E
checking whether clang works... no
configure: error: Selected compiler could not find or parse C++ standard library headers.  Rerun with CC=c-compiler CXX=c++-compiler ./configure ...

Specifying CC and CXX as suggested seem to fix the problem.

Thanks,
-Quentin

On Jan 15, 2014, at 11:19 AM, Chandler Carruth <chandlerc at gmail.com> wrote:

> Author: chandlerc
> Date: Wed Jan 15 13:19:13 2014
> New Revision: 199325
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=199325&view=rev
> Log:
> Sink the autoconf check for sufficiently modern host toolchain below the
> enable flag that selects the C++ standard library to use with the host
> toolchain. Otherwise we end up testing the wrong config.
> 
> I'm not really happy about this placement, but its pragmatic and should
> unblock the Apple builders.
> 
> Modified:
>    llvm/trunk/autoconf/configure.ac
>    llvm/trunk/configure
> 
> Modified: llvm/trunk/autoconf/configure.ac
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/autoconf/configure.ac?rev=199325&r1=199324&r2=199325&view=diff
> ==============================================================================
> --- llvm/trunk/autoconf/configure.ac (original)
> +++ llvm/trunk/autoconf/configure.ac Wed Jan 15 13:19:13 2014
> @@ -115,81 +115,6 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#if
> AC_LANG_POP([C++])
> AC_MSG_RESULT([${llvm_cv_cxx_compiler}])
> 
> -dnl Check both GCC and Clang for sufficiently modern versions. These checks can
> -dnl be bypassed by passing a flag if necessary on a platform.
> -AC_ARG_ENABLE(compiler-version-checks,
> -              AS_HELP_STRING([--enable-compiler-version-checks],
> -                             [Check the version of the host compiler (default is YES)]),,
> -                             enableval=default)
> -case "$enableval" in
> -  no)
> -    ;;
> -  yes|default)
> -    AC_LANG_PUSH([C++])
> -    case "$llvm_cv_cxx_compiler" in
> -    clang)
> -      AC_MSG_CHECKING([whether Clang is new enough])
> -      AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
> -#if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 1)
> -#error This version of Clang is too old to build LLVM
> -#endif
> -]])],
> -          [AC_MSG_RESULT([yes])],
> -          [AC_MSG_RESULT([no])
> -           AC_MSG_ERROR([
> -The selected Clang compiler is not new enough to build LLVM. Please upgrade to
> -Clang 3.1. You may pass --disable-compiler-version-checks to configure to
> -bypass these sanity checks.])])
> -
> -      dnl Note that libstdc++4.6 is known broken for C++11 builds. The errors
> -      dnl are sometimes deeply confusing though. Here we test for an obvious
> -      dnl incomplete feature in 4.6's standard library that was completed in
> -      dnl 4.7's.
> -      AC_MSG_CHECKING([whether Clang will select a modern C++ standard library])
> -      llvm_cv_old_cxxflags="$CXXFLAGS"
> -      CXXFLAGS="$CXXFLAGS -std=c++0x"
> -      AC_LINK_IFELSE([AC_LANG_SOURCE([[
> -#include <atomic>
> -std::atomic<float> x(0.0f);
> -int main() { return (float)x; }
> -]])],
> -          [AC_MSG_RESULT([yes])],
> -          [AC_MSG_RESULT([no])
> -           AC_MSG_ERROR([
> -We detected a missing feature in the standard C++ library that was known to be
> -missing in libstdc++4.6 and implemented in libstdc++4.7. There are numerous
> -C++11 problems with 4.6's library, and we don't support GCCs or libstdc++ older
> -than 4.7. You will need to update your system and ensure Clang uses the newer
> -standard library.
> -
> -If this error is incorrect or you need to force things to work, you may pass
> -'--disable-compiler-version-checks' to configure to bypass this test.])])
> -      CXXFLAGS="$llvm_cv_old_cxxflags"
> -      ;;
> -    gcc)
> -      AC_MSG_CHECKING([whether GCC is new enough])
> -      AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
> -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
> -#error This version of GCC is too old to build LLVM
> -#endif
> -]])],
> -          [AC_MSG_RESULT([yes])],
> -          [AC_MSG_RESULT([no])
> -           AC_MSG_ERROR([
> -The selected GCC C++ compiler is not new enough to build LLVM. Please upgrade
> -to GCC 4.7. You may pass --disable-compiler-version-checks to configure to
> -bypass these sanity checks.])])
> -      ;;
> -    unknown)
> -      ;;
> -    esac
> -    AC_LANG_POP([C++])
> -    ;;
> -  *)
> -    AC_MSG_ERROR([Invalid setting for --enable-compiler-version-checks. Use "yes" or "no"])
> -    ;;
> -esac
> -
> dnl Configure all of the projects present in our source tree. While we could
> dnl just AC_CONFIG_SUBDIRS on the set of directories in projects that have a
> dnl configure script, that usage of the AC_CONFIG_SUBDIRS macro is deprecated.
> @@ -582,6 +507,83 @@ case "$enableval" in
>   *) AC_MSG_ERROR([Invalid setting for --enable-libcpp. Use "yes" or "no"]) ;;
> esac
> 
> +dnl Check both GCC and Clang for sufficiently modern versions. These checks can
> +dnl be bypassed by passing a flag if necessary on a platform. We have to do
> +dnl these checks here so that we have the configuration of the standard C++
> +dnl library finished.
> +AC_ARG_ENABLE(compiler-version-checks,
> +              AS_HELP_STRING([--enable-compiler-version-checks],
> +                             [Check the version of the host compiler (default is YES)]),,
> +                             enableval=default)
> +case "$enableval" in
> +  no)
> +    ;;
> +  yes|default)
> +    AC_LANG_PUSH([C++])
> +    case "$llvm_cv_cxx_compiler" in
> +    clang)
> +      AC_MSG_CHECKING([whether Clang is new enough])
> +      AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
> +#if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 1)
> +#error This version of Clang is too old to build LLVM
> +#endif
> +]])],
> +          [AC_MSG_RESULT([yes])],
> +          [AC_MSG_RESULT([no])
> +           AC_MSG_ERROR([
> +The selected Clang compiler is not new enough to build LLVM. Please upgrade to
> +Clang 3.1. You may pass --disable-compiler-version-checks to configure to
> +bypass these sanity checks.])])
> +
> +      dnl Note that libstdc++4.6 is known broken for C++11 builds. The errors
> +      dnl are sometimes deeply confusing though. Here we test for an obvious
> +      dnl incomplete feature in 4.6's standard library that was completed in
> +      dnl 4.7's.
> +      AC_MSG_CHECKING([whether Clang will select a modern C++ standard library])
> +      llvm_cv_old_cxxflags="$CXXFLAGS"
> +      CXXFLAGS="$CXXFLAGS -std=c++0x"
> +      AC_LINK_IFELSE([AC_LANG_SOURCE([[
> +#include <atomic>
> +std::atomic<float> x(0.0f);
> +int main() { return (float)x; }
> +]])],
> +          [AC_MSG_RESULT([yes])],
> +          [AC_MSG_RESULT([no])
> +           AC_MSG_ERROR([
> +We detected a missing feature in the standard C++ library that was known to be
> +missing in libstdc++4.6 and implemented in libstdc++4.7. There are numerous
> +C++11 problems with 4.6's library, and we don't support GCCs or libstdc++ older
> +than 4.7. You will need to update your system and ensure Clang uses the newer
> +standard library.
> +
> +If this error is incorrect or you need to force things to work, you may pass
> +'--disable-compiler-version-checks' to configure to bypass this test.])])
> +      CXXFLAGS="$llvm_cv_old_cxxflags"
> +      ;;
> +    gcc)
> +      AC_MSG_CHECKING([whether GCC is new enough])
> +      AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
> +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
> +#error This version of GCC is too old to build LLVM
> +#endif
> +]])],
> +          [AC_MSG_RESULT([yes])],
> +          [AC_MSG_RESULT([no])
> +           AC_MSG_ERROR([
> +The selected GCC C++ compiler is not new enough to build LLVM. Please upgrade
> +to GCC 4.7. You may pass --disable-compiler-version-checks to configure to
> +bypass these sanity checks.])])
> +      ;;
> +    unknown)
> +      ;;
> +    esac
> +    AC_LANG_POP([C++])
> +    ;;
> +  *)
> +    AC_MSG_ERROR([Invalid setting for --enable-compiler-version-checks. Use "yes" or "no"])
> +    ;;
> +esac
> +
> dnl --enable-cxx11 : check whether or not to use -std=c++11 on the command line
> AC_ARG_ENABLE(cxx11,
>               AS_HELP_STRING([--enable-cxx11],
> 
> Modified: llvm/trunk/configure
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/configure?rev=199325&r1=199324&r2=199325&view=diff
> ==============================================================================
> --- llvm/trunk/configure (original)
> +++ llvm/trunk/configure Wed Jan 15 13:19:13 2014
> @@ -1395,11 +1395,11 @@ if test -n "$ac_init_help"; then
> Optional Features:
>   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
>   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
> +  --enable-polly          Use polly if available (default is YES)
> +  --enable-libcpp         Use libc++ if available (default is NO)
>   --enable-compiler-version-checks
>                           Check the version of the host compiler (default is
>                           YES)
> -  --enable-polly          Use polly if available (default is YES)
> -  --enable-libcpp         Use libc++ if available (default is NO)
>   --enable-cxx11          Use c++11 if available (default is NO)
>   --enable-split-dwarf    Use split-dwarf if available (default is NO)
>   --enable-clang-arcmt    Enable building of clang ARCMT (default is YES)
> @@ -3702,340 +3702,82 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
> { echo "$as_me:$LINENO: result: ${llvm_cv_cxx_compiler}" >&5
> echo "${ECHO_T}${llvm_cv_cxx_compiler}" >&6; }
> 
> -# Check whether --enable-compiler-version-checks was given.
> -if test "${enable_compiler_version_checks+set}" = set; then
> -  enableval=$enable_compiler_version_checks;
> -else
> -  enableval=default
> -fi
> 
> -case "$enableval" in
> -  no)
> -    ;;
> -  yes|default)
> -    ac_ext=cpp
> -ac_cpp='$CXXCPP $CPPFLAGS'
> -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
> -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
> -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
> 
> -    case "$llvm_cv_cxx_compiler" in
> -    clang)
> -      { echo "$as_me:$LINENO: checking whether Clang is new enough" >&5
> -echo $ECHO_N "checking whether Clang is new enough... $ECHO_C" >&6; }
> -      cat >conftest.$ac_ext <<_ACEOF
> -/* confdefs.h.  */
> -_ACEOF
> -cat confdefs.h >>conftest.$ac_ext
> -cat >>conftest.$ac_ext <<_ACEOF
> -/* end confdefs.h.  */
> +if test -d ${srcdir}/projects/test-suite ; then
> +  subdirs="$subdirs projects/test-suite"
> 
> -#if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 1)
> -#error This version of Clang is too old to build LLVM
> -#endif
> +fi
> 
> -_ACEOF
> -rm -f conftest.$ac_objext
> -if { (ac_try="$ac_compile"
> -case "(($ac_try" in
> -  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> -  *) ac_try_echo=$ac_try;;
> -esac
> -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> -  (eval "$ac_compile") 2>conftest.er1
> -  ac_status=$?
> -  grep -v '^ *+' conftest.er1 >conftest.err
> -  rm -f conftest.er1
> -  cat conftest.err >&5
> -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> -  (exit $ac_status); } &&
> -	 { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
> -  { (case "(($ac_try" in
> -  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> -  *) ac_try_echo=$ac_try;;
> -esac
> -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> -  (eval "$ac_try") 2>&5
> -  ac_status=$?
> -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> -  (exit $ac_status); }; } &&
> -	 { ac_try='test -s conftest.$ac_objext'
> -  { (case "(($ac_try" in
> -  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> -  *) ac_try_echo=$ac_try;;
> -esac
> -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> -  (eval "$ac_try") 2>&5
> -  ac_status=$?
> -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> -  (exit $ac_status); }; }; then
> -  { echo "$as_me:$LINENO: result: yes" >&5
> -echo "${ECHO_T}yes" >&6; }
> -else
> -  echo "$as_me: failed program was:" >&5
> -sed 's/^/| /' conftest.$ac_ext >&5
> +if test -d ${srcdir}/projects/llvm-test ; then
> +  subdirs="$subdirs projects/llvm-test"
> 
> -	{ echo "$as_me:$LINENO: result: no" >&5
> -echo "${ECHO_T}no" >&6; }
> -           { { echo "$as_me:$LINENO: error:
> -The selected Clang compiler is not new enough to build LLVM. Please upgrade to
> -Clang 3.1. You may pass --disable-compiler-version-checks to configure to
> -bypass these sanity checks." >&5
> -echo "$as_me: error:
> -The selected Clang compiler is not new enough to build LLVM. Please upgrade to
> -Clang 3.1. You may pass --disable-compiler-version-checks to configure to
> -bypass these sanity checks." >&2;}
> -   { (exit 1); exit 1; }; }
> fi
> 
> -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
> +if test -d ${srcdir}/projects/poolalloc ; then
> +  subdirs="$subdirs projects/poolalloc"
> 
> -                              { echo "$as_me:$LINENO: checking whether Clang will select a modern C++ standard library" >&5
> -echo $ECHO_N "checking whether Clang will select a modern C++ standard library... $ECHO_C" >&6; }
> -      llvm_cv_old_cxxflags="$CXXFLAGS"
> -      CXXFLAGS="$CXXFLAGS -std=c++0x"
> -      cat >conftest.$ac_ext <<_ACEOF
> -/* confdefs.h.  */
> -_ACEOF
> -cat confdefs.h >>conftest.$ac_ext
> -cat >>conftest.$ac_ext <<_ACEOF
> -/* end confdefs.h.  */
> +fi
> 
> -#include <atomic>
> -std::atomic<float> x(0.0f);
> -int main() { return (float)x; }
> +if test -d ${srcdir}/projects/llvm-poolalloc ; then
> +  subdirs="$subdirs projects/llvm-poolalloc"
> 
> -_ACEOF
> -rm -f conftest.$ac_objext conftest$ac_exeext
> -if { (ac_try="$ac_link"
> -case "(($ac_try" in
> -  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> -  *) ac_try_echo=$ac_try;;
> -esac
> -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> -  (eval "$ac_link") 2>conftest.er1
> -  ac_status=$?
> -  grep -v '^ *+' conftest.er1 >conftest.err
> -  rm -f conftest.er1
> -  cat conftest.err >&5
> -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> -  (exit $ac_status); } &&
> -	 { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
> -  { (case "(($ac_try" in
> -  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> -  *) ac_try_echo=$ac_try;;
> -esac
> -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> -  (eval "$ac_try") 2>&5
> -  ac_status=$?
> -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> -  (exit $ac_status); }; } &&
> -	 { ac_try='test -s conftest$ac_exeext'
> -  { (case "(($ac_try" in
> -  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> -  *) ac_try_echo=$ac_try;;
> -esac
> -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> -  (eval "$ac_try") 2>&5
> -  ac_status=$?
> -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> -  (exit $ac_status); }; }; then
> -  { echo "$as_me:$LINENO: result: yes" >&5
> -echo "${ECHO_T}yes" >&6; }
> +fi
> +
> +for i in `ls ${srcdir}/projects`
> +do
> +  if test -d ${srcdir}/projects/${i} ; then
> +    case ${i} in
> +      sample)       subdirs="$subdirs projects/sample"
> +    ;;
> +      safecode)     subdirs="$subdirs projects/safecode"
> + ;;
> +      compiler-rt)       ;;
> +      test-suite)     ;;
> +      llvm-test)      ;;
> +      poolalloc)      ;;
> +      llvm-poolalloc) ;;
> +      *)
> +        { echo "$as_me:$LINENO: WARNING: Unknown project (${i}) won't be configured automatically" >&5
> +echo "$as_me: WARNING: Unknown project (${i}) won't be configured automatically" >&2;}
> +        ;;
> +    esac
> +  fi
> +done
> +
> +# Check whether --enable-polly was given.
> +if test "${enable_polly+set}" = set; then
> +  enableval=$enable_polly;
> else
> -  echo "$as_me: failed program was:" >&5
> -sed 's/^/| /' conftest.$ac_ext >&5
> +  enableval=default
> +fi
> 
> -	{ echo "$as_me:$LINENO: result: no" >&5
> -echo "${ECHO_T}no" >&6; }
> -           { { echo "$as_me:$LINENO: error:
> -We detected a missing feature in the standard C++ library that was known to be
> -missing in libstdc++4.6 and implemented in libstdc++4.7. There are numerous
> -C++11 problems with 4.6's library, and we don't support GCCs or libstdc++ older
> -than 4.7. You will need to update your system and ensure Clang uses the newer
> -standard library.
> +case "$enableval" in
> +  yes) ENABLE_POLLY=1
> + ;;
> +  no)  ENABLE_POLLY=0
> + ;;
> +  default) ENABLE_POLLY=1
> + ;;
> +  *) { { echo "$as_me:$LINENO: error: Invalid setting for --enable-polly. Use \"yes\" or \"no\"" >&5
> +echo "$as_me: error: Invalid setting for --enable-polly. Use \"yes\" or \"no\"" >&2;}
> +   { (exit 1); exit 1; }; } ;;
> +esac
> 
> -If this error is incorrect or you need to force things to work, you may pass
> -'--disable-compiler-version-checks' to configure to bypass this test." >&5
> -echo "$as_me: error:
> -We detected a missing feature in the standard C++ library that was known to be
> -missing in libstdc++4.6 and implemented in libstdc++4.7. There are numerous
> -C++11 problems with 4.6's library, and we don't support GCCs or libstdc++ older
> -than 4.7. You will need to update your system and ensure Clang uses the newer
> -standard library.
> 
> -If this error is incorrect or you need to force things to work, you may pass
> -'--disable-compiler-version-checks' to configure to bypass this test." >&2;}
> -   { (exit 1); exit 1; }; }
> +if (test -d ${srcdir}/tools/polly) && (test $ENABLE_POLLY -eq 1) ; then
> +  LLVM_HAS_POLLY=1
> +
> +  subdirs="$subdirs tools/polly"
> +
> fi
> 
> -rm -f core conftest.err conftest.$ac_objext \
> -      conftest$ac_exeext conftest.$ac_ext
> -      CXXFLAGS="$llvm_cv_old_cxxflags"
> -      ;;
> -    gcc)
> -      { echo "$as_me:$LINENO: checking whether GCC is new enough" >&5
> -echo $ECHO_N "checking whether GCC is new enough... $ECHO_C" >&6; }
> -      cat >conftest.$ac_ext <<_ACEOF
> -/* confdefs.h.  */
> -_ACEOF
> -cat confdefs.h >>conftest.$ac_ext
> -cat >>conftest.$ac_ext <<_ACEOF
> -/* end confdefs.h.  */
> 
> -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
> -#error This version of GCC is too old to build LLVM
> -#endif
> -
> -_ACEOF
> -rm -f conftest.$ac_objext
> -if { (ac_try="$ac_compile"
> -case "(($ac_try" in
> -  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> -  *) ac_try_echo=$ac_try;;
> -esac
> -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> -  (eval "$ac_compile") 2>conftest.er1
> -  ac_status=$?
> -  grep -v '^ *+' conftest.er1 >conftest.err
> -  rm -f conftest.er1
> -  cat conftest.err >&5
> -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> -  (exit $ac_status); } &&
> -	 { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
> -  { (case "(($ac_try" in
> -  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> -  *) ac_try_echo=$ac_try;;
> -esac
> -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> -  (eval "$ac_try") 2>&5
> -  ac_status=$?
> -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> -  (exit $ac_status); }; } &&
> -	 { ac_try='test -s conftest.$ac_objext'
> -  { (case "(($ac_try" in
> -  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> -  *) ac_try_echo=$ac_try;;
> -esac
> -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> -  (eval "$ac_try") 2>&5
> -  ac_status=$?
> -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> -  (exit $ac_status); }; }; then
> -  { echo "$as_me:$LINENO: result: yes" >&5
> -echo "${ECHO_T}yes" >&6; }
> -else
> -  echo "$as_me: failed program was:" >&5
> -sed 's/^/| /' conftest.$ac_ext >&5
> -
> -	{ echo "$as_me:$LINENO: result: no" >&5
> -echo "${ECHO_T}no" >&6; }
> -           { { echo "$as_me:$LINENO: error:
> -The selected GCC C++ compiler is not new enough to build LLVM. Please upgrade
> -to GCC 4.7. You may pass --disable-compiler-version-checks to configure to
> -bypass these sanity checks." >&5
> -echo "$as_me: error:
> -The selected GCC C++ compiler is not new enough to build LLVM. Please upgrade
> -to GCC 4.7. You may pass --disable-compiler-version-checks to configure to
> -bypass these sanity checks." >&2;}
> -   { (exit 1); exit 1; }; }
> -fi
> -
> -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
> -      ;;
> -    unknown)
> -      ;;
> -    esac
> -    ac_ext=c
> -ac_cpp='$CPP $CPPFLAGS'
> -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
> -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
> -ac_compiler_gnu=$ac_cv_c_compiler_gnu
> -
> -    ;;
> -  *)
> -    { { echo "$as_me:$LINENO: error: Invalid setting for --enable-compiler-version-checks. Use \"yes\" or \"no\"" >&5
> -echo "$as_me: error: Invalid setting for --enable-compiler-version-checks. Use \"yes\" or \"no\"" >&2;}
> -   { (exit 1); exit 1; }; }
> -    ;;
> -esac
> -
> -
> -
> -if test -d ${srcdir}/projects/test-suite ; then
> -  subdirs="$subdirs projects/test-suite"
> -
> -fi
> -
> -if test -d ${srcdir}/projects/llvm-test ; then
> -  subdirs="$subdirs projects/llvm-test"
> -
> -fi
> -
> -if test -d ${srcdir}/projects/poolalloc ; then
> -  subdirs="$subdirs projects/poolalloc"
> -
> -fi
> -
> -if test -d ${srcdir}/projects/llvm-poolalloc ; then
> -  subdirs="$subdirs projects/llvm-poolalloc"
> -
> -fi
> -
> -for i in `ls ${srcdir}/projects`
> -do
> -  if test -d ${srcdir}/projects/${i} ; then
> -    case ${i} in
> -      sample)       subdirs="$subdirs projects/sample"
> -    ;;
> -      safecode)     subdirs="$subdirs projects/safecode"
> - ;;
> -      compiler-rt)       ;;
> -      test-suite)     ;;
> -      llvm-test)      ;;
> -      poolalloc)      ;;
> -      llvm-poolalloc) ;;
> -      *)
> -        { echo "$as_me:$LINENO: WARNING: Unknown project (${i}) won't be configured automatically" >&5
> -echo "$as_me: WARNING: Unknown project (${i}) won't be configured automatically" >&2;}
> -        ;;
> -    esac
> -  fi
> -done
> -
> -# Check whether --enable-polly was given.
> -if test "${enable_polly+set}" = set; then
> -  enableval=$enable_polly;
> -else
> -  enableval=default
> -fi
> -
> -case "$enableval" in
> -  yes) ENABLE_POLLY=1
> - ;;
> -  no)  ENABLE_POLLY=0
> - ;;
> -  default) ENABLE_POLLY=1
> - ;;
> -  *) { { echo "$as_me:$LINENO: error: Invalid setting for --enable-polly. Use \"yes\" or \"no\"" >&5
> -echo "$as_me: error: Invalid setting for --enable-polly. Use \"yes\" or \"no\"" >&2;}
> -   { (exit 1); exit 1; }; } ;;
> -esac
> -
> -
> -if (test -d ${srcdir}/tools/polly) && (test $ENABLE_POLLY -eq 1) ; then
> -  LLVM_HAS_POLLY=1
> -
> -  subdirs="$subdirs tools/polly"
> -
> -fi
> -
> -
> -# Make sure we can run config.sub.
> -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
> -  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
> -echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
> -   { (exit 1); exit 1; }; }
> +# Make sure we can run config.sub.
> +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
> +  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
> +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
> +   { (exit 1); exit 1; }; }
> 
> { echo "$as_me:$LINENO: checking build system type" >&5
> echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
> @@ -4790,6 +4532,264 @@ echo "$as_me: error: Invalid setting for
>    { (exit 1); exit 1; }; } ;;
> esac
> 
> +# Check whether --enable-compiler-version-checks was given.
> +if test "${enable_compiler_version_checks+set}" = set; then
> +  enableval=$enable_compiler_version_checks;
> +else
> +  enableval=default
> +fi
> +
> +case "$enableval" in
> +  no)
> +    ;;
> +  yes|default)
> +    ac_ext=cpp
> +ac_cpp='$CXXCPP $CPPFLAGS'
> +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
> +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
> +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
> +
> +    case "$llvm_cv_cxx_compiler" in
> +    clang)
> +      { echo "$as_me:$LINENO: checking whether Clang is new enough" >&5
> +echo $ECHO_N "checking whether Clang is new enough... $ECHO_C" >&6; }
> +      cat >conftest.$ac_ext <<_ACEOF
> +/* confdefs.h.  */
> +_ACEOF
> +cat confdefs.h >>conftest.$ac_ext
> +cat >>conftest.$ac_ext <<_ACEOF
> +/* end confdefs.h.  */
> +
> +#if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 1)
> +#error This version of Clang is too old to build LLVM
> +#endif
> +
> +_ACEOF
> +rm -f conftest.$ac_objext
> +if { (ac_try="$ac_compile"
> +case "(($ac_try" in
> +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> +  *) ac_try_echo=$ac_try;;
> +esac
> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> +  (eval "$ac_compile") 2>conftest.er1
> +  ac_status=$?
> +  grep -v '^ *+' conftest.er1 >conftest.err
> +  rm -f conftest.er1
> +  cat conftest.err >&5
> +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> +  (exit $ac_status); } &&
> +	 { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
> +  { (case "(($ac_try" in
> +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> +  *) ac_try_echo=$ac_try;;
> +esac
> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> +  (eval "$ac_try") 2>&5
> +  ac_status=$?
> +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> +  (exit $ac_status); }; } &&
> +	 { ac_try='test -s conftest.$ac_objext'
> +  { (case "(($ac_try" in
> +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> +  *) ac_try_echo=$ac_try;;
> +esac
> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> +  (eval "$ac_try") 2>&5
> +  ac_status=$?
> +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> +  (exit $ac_status); }; }; then
> +  { echo "$as_me:$LINENO: result: yes" >&5
> +echo "${ECHO_T}yes" >&6; }
> +else
> +  echo "$as_me: failed program was:" >&5
> +sed 's/^/| /' conftest.$ac_ext >&5
> +
> +	{ echo "$as_me:$LINENO: result: no" >&5
> +echo "${ECHO_T}no" >&6; }
> +           { { echo "$as_me:$LINENO: error:
> +The selected Clang compiler is not new enough to build LLVM. Please upgrade to
> +Clang 3.1. You may pass --disable-compiler-version-checks to configure to
> +bypass these sanity checks." >&5
> +echo "$as_me: error:
> +The selected Clang compiler is not new enough to build LLVM. Please upgrade to
> +Clang 3.1. You may pass --disable-compiler-version-checks to configure to
> +bypass these sanity checks." >&2;}
> +   { (exit 1); exit 1; }; }
> +fi
> +
> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
> +
> +                              { echo "$as_me:$LINENO: checking whether Clang will select a modern C++ standard library" >&5
> +echo $ECHO_N "checking whether Clang will select a modern C++ standard library... $ECHO_C" >&6; }
> +      llvm_cv_old_cxxflags="$CXXFLAGS"
> +      CXXFLAGS="$CXXFLAGS -std=c++0x"
> +      cat >conftest.$ac_ext <<_ACEOF
> +/* confdefs.h.  */
> +_ACEOF
> +cat confdefs.h >>conftest.$ac_ext
> +cat >>conftest.$ac_ext <<_ACEOF
> +/* end confdefs.h.  */
> +
> +#include <atomic>
> +std::atomic<float> x(0.0f);
> +int main() { return (float)x; }
> +
> +_ACEOF
> +rm -f conftest.$ac_objext conftest$ac_exeext
> +if { (ac_try="$ac_link"
> +case "(($ac_try" in
> +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> +  *) ac_try_echo=$ac_try;;
> +esac
> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> +  (eval "$ac_link") 2>conftest.er1
> +  ac_status=$?
> +  grep -v '^ *+' conftest.er1 >conftest.err
> +  rm -f conftest.er1
> +  cat conftest.err >&5
> +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> +  (exit $ac_status); } &&
> +	 { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
> +  { (case "(($ac_try" in
> +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> +  *) ac_try_echo=$ac_try;;
> +esac
> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> +  (eval "$ac_try") 2>&5
> +  ac_status=$?
> +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> +  (exit $ac_status); }; } &&
> +	 { ac_try='test -s conftest$ac_exeext'
> +  { (case "(($ac_try" in
> +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> +  *) ac_try_echo=$ac_try;;
> +esac
> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> +  (eval "$ac_try") 2>&5
> +  ac_status=$?
> +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> +  (exit $ac_status); }; }; then
> +  { echo "$as_me:$LINENO: result: yes" >&5
> +echo "${ECHO_T}yes" >&6; }
> +else
> +  echo "$as_me: failed program was:" >&5
> +sed 's/^/| /' conftest.$ac_ext >&5
> +
> +	{ echo "$as_me:$LINENO: result: no" >&5
> +echo "${ECHO_T}no" >&6; }
> +           { { echo "$as_me:$LINENO: error:
> +We detected a missing feature in the standard C++ library that was known to be
> +missing in libstdc++4.6 and implemented in libstdc++4.7. There are numerous
> +C++11 problems with 4.6's library, and we don't support GCCs or libstdc++ older
> +than 4.7. You will need to update your system and ensure Clang uses the newer
> +standard library.
> +
> +If this error is incorrect or you need to force things to work, you may pass
> +'--disable-compiler-version-checks' to configure to bypass this test." >&5
> +echo "$as_me: error:
> +We detected a missing feature in the standard C++ library that was known to be
> +missing in libstdc++4.6 and implemented in libstdc++4.7. There are numerous
> +C++11 problems with 4.6's library, and we don't support GCCs or libstdc++ older
> +than 4.7. You will need to update your system and ensure Clang uses the newer
> +standard library.
> +
> +If this error is incorrect or you need to force things to work, you may pass
> +'--disable-compiler-version-checks' to configure to bypass this test." >&2;}
> +   { (exit 1); exit 1; }; }
> +fi
> +
> +rm -f core conftest.err conftest.$ac_objext \
> +      conftest$ac_exeext conftest.$ac_ext
> +      CXXFLAGS="$llvm_cv_old_cxxflags"
> +      ;;
> +    gcc)
> +      { echo "$as_me:$LINENO: checking whether GCC is new enough" >&5
> +echo $ECHO_N "checking whether GCC is new enough... $ECHO_C" >&6; }
> +      cat >conftest.$ac_ext <<_ACEOF
> +/* confdefs.h.  */
> +_ACEOF
> +cat confdefs.h >>conftest.$ac_ext
> +cat >>conftest.$ac_ext <<_ACEOF
> +/* end confdefs.h.  */
> +
> +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
> +#error This version of GCC is too old to build LLVM
> +#endif
> +
> +_ACEOF
> +rm -f conftest.$ac_objext
> +if { (ac_try="$ac_compile"
> +case "(($ac_try" in
> +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> +  *) ac_try_echo=$ac_try;;
> +esac
> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> +  (eval "$ac_compile") 2>conftest.er1
> +  ac_status=$?
> +  grep -v '^ *+' conftest.er1 >conftest.err
> +  rm -f conftest.er1
> +  cat conftest.err >&5
> +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> +  (exit $ac_status); } &&
> +	 { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
> +  { (case "(($ac_try" in
> +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> +  *) ac_try_echo=$ac_try;;
> +esac
> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> +  (eval "$ac_try") 2>&5
> +  ac_status=$?
> +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> +  (exit $ac_status); }; } &&
> +	 { ac_try='test -s conftest.$ac_objext'
> +  { (case "(($ac_try" in
> +  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> +  *) ac_try_echo=$ac_try;;
> +esac
> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
> +  (eval "$ac_try") 2>&5
> +  ac_status=$?
> +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
> +  (exit $ac_status); }; }; then
> +  { echo "$as_me:$LINENO: result: yes" >&5
> +echo "${ECHO_T}yes" >&6; }
> +else
> +  echo "$as_me: failed program was:" >&5
> +sed 's/^/| /' conftest.$ac_ext >&5
> +
> +	{ echo "$as_me:$LINENO: result: no" >&5
> +echo "${ECHO_T}no" >&6; }
> +           { { echo "$as_me:$LINENO: error:
> +The selected GCC C++ compiler is not new enough to build LLVM. Please upgrade
> +to GCC 4.7. You may pass --disable-compiler-version-checks to configure to
> +bypass these sanity checks." >&5
> +echo "$as_me: error:
> +The selected GCC C++ compiler is not new enough to build LLVM. Please upgrade
> +to GCC 4.7. You may pass --disable-compiler-version-checks to configure to
> +bypass these sanity checks." >&2;}
> +   { (exit 1); exit 1; }; }
> +fi
> +
> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
> +      ;;
> +    unknown)
> +      ;;
> +    esac
> +    ac_ext=c
> +ac_cpp='$CPP $CPPFLAGS'
> +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
> +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
> +ac_compiler_gnu=$ac_cv_c_compiler_gnu
> +
> +    ;;
> +  *)
> +    { { echo "$as_me:$LINENO: error: Invalid setting for --enable-compiler-version-checks. Use \"yes\" or \"no\"" >&5
> +echo "$as_me: error: Invalid setting for --enable-compiler-version-checks. Use \"yes\" or \"no\"" >&2;}
> +   { (exit 1); exit 1; }; }
> +    ;;
> +esac
> +
> # Check whether --enable-cxx11 was given.
> if test "${enable_cxx11+set}" = set; then
>   enableval=$enable_cxx11;
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140115/6085a012/attachment.html>


More information about the llvm-commits mailing list