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

Quentin Colombet qcolombet at apple.com
Wed Jan 15 11:43:35 PST 2014


Nevermind, that was a misconfiguration on my side.
Sorry for the noise.

-Quentin

On Jan 15, 2014, at 11:38 AM, Quentin Colombet <qcolombet at apple.com> wrote:

> 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
> 
> _______________________________________________
> 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/2118b561/attachment.html>


More information about the llvm-commits mailing list