From b370936a25194d5ce5173f047cc2ca8642c23f6e Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 13 Apr 2005 14:13:35 -0400 Subject: BUG: Added more try-compiles from kwsys. --- bootstrap | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/bootstrap b/bootstrap index 7610a25..548c9c5 100755 --- a/bootstrap +++ b/bootstrap @@ -203,6 +203,10 @@ cmake_kwsys_config_replace_string () s/@KWSYS_STL_STRING_HAVE_ISTREAM@/${KWSYS_STL_STRING_HAVE_ISTREAM}/g; s/@KWSYS_STL_STRING_HAVE_OSTREAM@/${KWSYS_STL_STRING_HAVE_OSTREAM}/g; s/@KWSYS_STL_STRING_HAVE_NEQ_CHAR@/${KWSYS_STL_STRING_HAVE_NEQ_CHAR}/g; + s/@KWSYS_STL_HAS_ALLOCATOR_REBIND@/${KWSYS_STL_HAS_ALLOCATOR_REBIND}/g; + s/@KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS@/${KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS}/g; + s/@KWSYS_CXX_HAS_MEMBER_TEMPLATES@/${KWSYS_CXX_HAS_MEMBER_TEMPLATES}/g; + s/@KWSYS_CXX_HAS_FULL_SPECIALIZATION@/${KWSYS_CXX_HAS_FULL_SPECIALIZATION}/g; s/@KWSYS_STAT_HAS_ST_MTIM@/${KWSYS_STAT_HAS_ST_MTIM}/g;}" >> "${OUTFILE}.tmp" if [ -f "${OUTFILE}.tmp" ]; then if diff "${OUTFILE}" "${OUTFILE}.tmp" > /dev/null 2> /dev/null ; then @@ -257,7 +261,7 @@ cmake_try_run () echo "Try: ${COMPILER}" echo "Line: ${COMPILER} ${FLAGS} ${TESTFILE} -o ${TMPFILE}" echo "---------- file -----------------------" - cat ${TESTFILE} + cat "${TESTFILE}" echo "------------------------------------------" "${COMPILER}" ${FLAGS} "${TESTFILE}" -o "${TMPFILE}" RES=$? @@ -711,6 +715,10 @@ KWSYS_IOS_USE_ANSI=0 KWSYS_STL_HAVE_STD=0 KWSYS_STAT_HAS_ST_MTIM=0 KWSYS_STL_STRING_HAVE_NEQ_CHAR=0 +KWSYS_STL_HAS_ALLOCATOR_REBIND=0 +KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS=0 +KWSYS_CXX_HAS_MEMBER_TEMPLATES=0 +KWSYS_CXX_HAS_FULL_SPECIALIZATION=0 # Hardcode these kwsys features. They work on all known UNIX compilers anyway. KWSYS_STL_STRING_HAVE_ISTREAM=1 @@ -784,6 +792,42 @@ else fi if cmake_try_run "${cmake_cxx_compiler}" \ + "${cmake_cxx_flags} -DTEST_KWSYS_STL_HAS_ALLOCATOR_REBIND -DKWSYS_STL_HAVE_STD=${KWSYS_STL_HAVE_STD}" \ + "${cmake_source_dir}/Source/kwsys/kwsysPlatformCxxTests.cxx" >> cmake_bootstrap.log 2>&1; then + KWSYS_STL_HAS_ALLOCATOR_REBIND=1 + echo "${cmake_cxx_compiler} has allocator<>::rebind<>" +else + echo "${cmake_cxx_compiler} does not have allocator<>::rebind<>" +fi + +if cmake_try_run "${cmake_cxx_compiler}" \ + "${cmake_cxx_flags} -DTEST_KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS" \ + "${cmake_source_dir}/Source/kwsys/kwsysPlatformCxxTests.cxx" >> cmake_bootstrap.log 2>&1; then + echo "${cmake_cxx_compiler} does not require template friends to use <>" +else + KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS=1 + echo "${cmake_cxx_compiler} requires template friends to use <>" +fi + +if cmake_try_run "${cmake_cxx_compiler}" \ + "${cmake_cxx_flags} -DTEST_KWSYS_CXX_HAS_MEMBER_TEMPLATES" \ + "${cmake_source_dir}/Source/kwsys/kwsysPlatformCxxTests.cxx" >> cmake_bootstrap.log 2>&1; then + KWSYS_CXX_HAS_MEMBER_TEMPLATES=1 + echo "${cmake_cxx_compiler} supports member templates" +else + echo "${cmake_cxx_compiler} does not support member templates" +fi + +if cmake_try_run "${cmake_cxx_compiler}" \ + "${cmake_cxx_flags} -DTEST_KWSYS_CXX_HAS_FULL_SPECIALIZATION" \ + "${cmake_source_dir}/Source/kwsys/kwsysPlatformCxxTests.cxx" >> cmake_bootstrap.log 2>&1; then + KWSYS_CXX_HAS_FULL_SPECIALIZATION=1 + echo "${cmake_cxx_compiler} has standard template specialization syntax" +else + echo "${cmake_cxx_compiler} does not have standard template specialization syntax" +fi + +if cmake_try_run "${cmake_cxx_compiler}" \ "${cmake_cxx_flags} -DTEST_KWSYS_STAT_HAS_ST_MTIM" \ "${cmake_source_dir}/Source/kwsys/kwsysPlatformCxxTests.cxx" >> cmake_bootstrap.log 2>&1; then KWSYS_STAT_HAS_ST_MTIM=1 -- cgit v0.12