X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=configure;h=066a34cf7628567d2bccf1c7bb6cdb77dac7c0f3;hb=ebcaef4340f8e2b07f7374d30642df1081a5b9cb;hp=a05bb9691233e1a68f43c3651e78b9f0a4f6bb0a;hpb=5b45789afd8b1c89ac9361b158ea6e498eeed9bd;p=oota-llvm.git diff --git a/configure b/configure index a05bb969123..066a34cf762 100755 --- a/configure +++ b/configure @@ -814,19 +814,12 @@ CXXFLAGS CCC CPP CXXCPP' -ac_subdirs_all='projects/llvm-gcc -projects/test-suite +ac_subdirs_all='projects/test-suite projects/llvm-test projects/poolalloc projects/llvm-poolalloc projects/sample -projects/privbracket -projects/llvm-stacker -projects/llvm-reopt -projects/llvm-java -projects/llvm-tv projects/safecode -projects/llvm-kernel tools/polly' # Initialize some variables set by options. @@ -1404,6 +1397,9 @@ Optional Features: --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-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) @@ -3581,13 +3577,133 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi +{ echo "$as_me:$LINENO: checking whether GCC or Clang is our host compiler" >&5 +echo $ECHO_N "checking whether GCC or Clang is our host compiler... $ECHO_C" >&6; } +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 + +llvm_cv_cxx_compiler=unknown +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if ! __clang__ + #error + #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 + llvm_cv_cxx_compiler=clang +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if ! __GNUC__ + #error + #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 + llvm_cv_cxx_compiler=gcc +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -if test -d ${srcdir}/projects/llvm-gcc ; then - subdirs="$subdirs projects/llvm-gcc" fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +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: result: ${llvm_cv_cxx_compiler}" >&5 +echo "${ECHO_T}${llvm_cv_cxx_compiler}" >&6; } + + + if test -d ${srcdir}/projects/test-suite ; then subdirs="$subdirs projects/test-suite" @@ -3614,22 +3730,9 @@ do case ${i} in sample) subdirs="$subdirs projects/sample" ;; - privbracket) subdirs="$subdirs projects/privbracket" - ;; - llvm-stacker) subdirs="$subdirs projects/llvm-stacker" - ;; - llvm-reopt) subdirs="$subdirs projects/llvm-reopt" -;; - llvm-java) subdirs="$subdirs projects/llvm-java" - ;; - llvm-tv) subdirs="$subdirs projects/llvm-tv" - ;; safecode) subdirs="$subdirs projects/safecode" - ;; - llvm-kernel) subdirs="$subdirs projects/llvm-kernel" ;; compiler-rt) ;; - llvm-gcc) ;; test-suite) ;; llvm-test) ;; poolalloc) ;; @@ -4429,6 +4532,266 @@ echo "$as_me: error: Invalid setting for --enable-libcpp. Use \"yes\" or \"no\"" { (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 + + if test "$ENABLE_LIBCPP" -eq 0 ; then + { 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 +std::atomic 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" + fi + ;; + 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; @@ -10300,7 +10663,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <