diff options
Diffstat (limited to 'Templates/cxxconfigure')
-rwxr-xr-x | Templates/cxxconfigure | 440 |
1 files changed, 359 insertions, 81 deletions
diff --git a/Templates/cxxconfigure b/Templates/cxxconfigure index 7b23fb5..9e3aac1 100755 --- a/Templates/cxxconfigure +++ b/Templates/cxxconfigure @@ -705,16 +705,53 @@ CXXFLAGS=$save_CXXFLAGS CMAKE_NO_EXPLICIT_TEMPLATE_INSTANTIATION="" if test $ac_cv_prog_gxx = no; then - echo $ac_n "checking whether ${CXX} supports explicit instantiation""... $ac_c" 1>&6 - echo 'template<class T>class x{};template class x<int>;' > conftest.cc - if test -z "`${CXX} -c conftest.cc 2>&1`"; then - echo "$ac_t""yes" 1>&6 - else - echo "$ac_t""no" 1>&6 - CMAKE_NO_EXPLICIT_TEMPLATE_INSTANTIATION="1" - fi - rm -f conftest* + CXXFLAGS_ORIG="$CXXFLAGS" + CXXFLAGS="$CMAKE_ANSI_CXXFLAGS $CXXFLAGS" + echo $ac_n "checking whether ${CXX} supports explicit instantiation""... $ac_c" 1>&6 +echo "configure:712: checking whether ${CXX} supports explicit instantiation" >&5 + + ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + + cat > conftest.$ac_ext <<EOF +#line 722 "configure" +#include "confdefs.h" + + template<class T>class x{};template class x<int>; + +int main() { + +; return 0; } +EOF +if { (eval echo configure:731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + + echo "$ac_t""yes" 1>&6 + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + + CMAKE_NO_EXPLICIT_TEMPLATE_INSTANTIATION=1 + echo "$ac_t""no" 1>&6 + +fi +rm -f conftest* + ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + + CXXFLAGS="$CXXFLAGS_ORIG" fi + # if running on darwin no explicit template instantiations even though # syntax is supported. case $system in @@ -729,27 +766,100 @@ CMAKE_ANSI_CXXFLAGS="" if test $ac_cv_prog_gxx = no; then case $system in IRIX-5* | IRIX-6* | IRIX64-6* | IRIX-64-6*) + CXXFLAGS_ORIG="$CXXFLAGS" + CXXFLAGS="-LANG:std $CXXFLAGS" echo $ac_n "checking whether ${CXX} accepts -LANG:std""... $ac_c" 1>&6 - echo 'void f(){}' > conftest.c - if test -z "`${CXX} -LANG:std -c conftest.c 2>&1`"; then - echo "$ac_t""yes" 1>&6 - CMAKE_ANSI_CXXFLAGS="-LANG:std" - else - echo "$ac_t""no" 1>&6 - fi - rm -f conftest* +echo "configure:773: checking whether ${CXX} accepts -LANG:std" >&5 + + ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + + cat > conftest.$ac_ext <<EOF +#line 783 "configure" +#include "confdefs.h" + + void foo() {} + +int main() { + +; return 0; } +EOF +if { (eval echo configure:792: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + + echo "$ac_t""yes" 1>&6 + CMAKE_ANSI_CXXFLAGS="-LANG:std" + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + + echo "$ac_t""no" 1>&6 + +fi +rm -f conftest* + ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + + CXXFLAGS="$CXXFLAGS_ORIG" ;; OSF1-*) + + CXXFLAGS_ORIG="$CXXFLAGS" + CXXFLAGS="-std strict_ansi -nopure_cname $CXXFLAGS" echo $ac_n "checking whether ${CXX} accepts -std strict_ansi -nopure_cname""... $ac_c" 1>&6 - echo 'void f(){}' > conftest.c - if test -z "`${CXX} -std strict_ansi -nopure_cname -c conftest.c 2>&1`"; then - echo "$ac_t""yes" 1>&6 - CMAKE_ANSI_CXXFLAGS="-std strict_ansi -nopure_cname" - else - echo "$ac_t""no" 1>&6 - fi - rm -f conftest* - ;; +echo "configure:821: checking whether ${CXX} accepts -std strict_ansi -nopure_cname" >&5 + + ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + + cat > conftest.$ac_ext <<EOF +#line 831 "configure" +#include "confdefs.h" + + void foo() {} + +int main() { + +; return 0; } +EOF +if { (eval echo configure:840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + + echo "$ac_t""yes" 1>&6 + CMAKE_ANSI_CXXFLAGS="-std strict_ansi -nopure_cname" + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + + echo "$ac_t""no" 1>&6 + +fi +rm -f conftest* + ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + + CXXFLAGS="$CXXFLAGS_ORIG" + ;; esac fi @@ -758,15 +868,51 @@ fi # to get the templates compiled correctly CMAKE_TEMPLATE_FLAGS="" if test $ac_cv_prog_gxx = no; then - echo $ac_n "checking whether ${CXX} accepts -ptused -no_prelink""... $ac_c" 1>&6 - echo 'void f(){}' > conftest.cc - if test -z "`${CXX} -ptused -no_prelink -c conftest.cc 2>&1`"; then - echo "$ac_t""yes" 1>&6 - CMAKE_TEMPLATE_FLAGS="-ptused -no_prelink" - else - echo "$ac_t""no" 1>&6 - fi - rm -f conftest* + CXXFLAGS_ORIG="$CXXFLAGS" + CXXFLAGS="$CMAKE_ANSI_CXXFLAGS $CXXFLAGS -ptused -no_prelink" + echo $ac_n "checking whether ${CXX} accepts -ptused -no_prelink""... $ac_c" 1>&6 +echo "configure:875: checking whether ${CXX} accepts -ptused -no_prelink" >&5 + + ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + + cat > conftest.$ac_ext <<EOF +#line 885 "configure" +#include "confdefs.h" + + void foo() {} + +int main() { + +; return 0; } +EOF +if { (eval echo configure:894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + + echo "$ac_t""yes" 1>&6 + CMAKE_TEMPLATE_FLAGS="-ptused -no_prelink" + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + + echo "$ac_t""no" 1>&6 + +fi +rm -f conftest* + ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + + CXXFLAGS="$CXXFLAGS_ORIG" fi @@ -774,68 +920,200 @@ fi # check non-g++ compilers to see if they have the standard # ansi stream files (without the .h) if test $ac_cv_prog_gxx = no; then + CXXFLAGS_ORIG="$CXXFLAGS" + CXXFLAGS="$CMAKE_ANSI_CXXFLAGS $CXXFLAGS" echo $ac_n "checking ansi standard C++ stream headers ""... $ac_c" 1>&6 -echo "configure:779: checking ansi standard C++ stream headers " >&5 - rm -rf conftest.* - cat > conftest.cc <<! -#include <iostream> -! - if test -z "`${CXX} ${CMAKE_ANSI_CXXFLAGS} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>&1`"; then - echo "$ac_t""yes" 1>&6 - else - CMAKE_NO_ANSI_STREAM_HEADERS="1" - echo "$ac_t""no" 1>&6 - fi +echo "configure:927: checking ansi standard C++ stream headers " >&5 + + ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + + cat > conftest.$ac_ext <<EOF +#line 937 "configure" +#include "confdefs.h" + + #include <iostream> + +int main() { + +; return 0; } +EOF +if { (eval echo configure:946: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + + echo "$ac_t""yes" 1>&6 + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + + CMAKE_NO_ANSI_STREAM_HEADERS=1 + echo "$ac_t""no" 1>&6 + +fi +rm -f conftest* + ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + + CXXFLAGS="$CXXFLAGS_ORIG" fi # check compilers to see if they have std::stringstream -echo $ac_n "checking for ansi standard C++ stringstream ""... $ac_c" 1>&6 -echo "configure:795: checking for ansi standard C++ stringstream " >&5 -rm -rf conftest.* -cat > conftest.cc <<! +CXXFLAGS_ORIG="$CXXFLAGS" +CXXFLAGS="$CMAKE_ANSI_CXXFLAGS $CXXFLAGS" +echo $ac_n "checking for ansi standard C++ stringstream""... $ac_c" 1>&6 +echo "configure:976: checking for ansi standard C++ stringstream" >&5 + +ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + +cat > conftest.$ac_ext <<EOF +#line 986 "configure" +#include "confdefs.h" + #include <sstream> -! -if test -z "`${CXX} ${CMAKE_ANSI_CXXFLAGS} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>&1`"; then - echo "$ac_t""yes" 1>&6 + +int main() { + +; return 0; } +EOF +if { (eval echo configure:995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + +echo "$ac_t""yes" 1>&6 + else - CMAKE_NO_ANSI_STRING_STREAM="1" - echo "$ac_t""no" 1>&6 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + +CMAKE_NO_ANSI_STRING_STREAM=1 +echo "$ac_t""no" 1>&6 + fi +rm -f conftest* +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +CXXFLAGS="$CXXFLAGS_ORIG" # check to see if stl is in the std namespace if test $ac_cv_prog_gxx = no; then - echo $ac_n "checking ansi standard namespace support ""... $ac_c" 1>&6 -echo "configure:811: checking ansi standard namespace support " >&5 - rm -rf conftest.* - cat > conftest.cc <<! -#include <list> -void foo() { std::list<int> l; } -! - if test -z "`${CXX} ${CMAKE_ANSI_CXXFLAGS} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>&1`"; then - echo "$ac_t""yes" 1>&6 - else - CMAKE_NO_STD_NAMESPACE="1" - echo "$ac_t""no" 1>&6 - fi + CXXFLAGS_ORIG="$CXXFLAGS" + CXXFLAGS="$CMAKE_ANSI_CXXFLAGS $CXXFLAGS" + echo $ac_n "checking whether the std namespace is supported""... $ac_c" 1>&6 +echo "configure:1025: checking whether the std namespace is supported" >&5 + + ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + + cat > conftest.$ac_ext <<EOF +#line 1035 "configure" +#include "confdefs.h" + + #include <list> + void foo() { std::list<int>(); } + +int main() { + +; return 0; } +EOF +if { (eval echo configure:1045: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + + echo "$ac_t""yes" 1>&6 + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + + CMAKE_NO_STD_NAMESPACE=1 + echo "$ac_t""no" 1>&6 + +fi +rm -f conftest* + ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + + CXXFLAGS="$CXXFLAGS_ORIG" fi # check to see if for scoping is supported if test $ac_cv_prog_gxx = no; then - echo $ac_n "checking ansi for scope support ""... $ac_c" 1>&6 -echo "configure:829: checking ansi for scope support " >&5 - rm -rf conftest.* - cat > conftest.cc <<! -void foo() { for(int i;;); for(int i;;); } -! - if test -z "`${CXX} ${CMAKE_ANSI_CXXFLAGS} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>&1`"; then - echo "$ac_t""yes" 1>&6 - else - CMAKE_NO_ANSI_FOR_SCOPE="1" - echo "$ac_t""no" 1>&6 - fi + CXXFLAGS_ORIG="$CXXFLAGS" + CXXFLAGS="$CMAKE_ANSI_CXXFLAGS $CXXFLAGS" + echo $ac_n "checking ansi for scope support""... $ac_c" 1>&6 +echo "configure:1076: checking ansi for scope support" >&5 + + ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + + cat > conftest.$ac_ext <<EOF +#line 1086 "configure" +#include "confdefs.h" + + void foo() { for(int i;;); for(int i;;); } + +int main() { + +; return 0; } +EOF +if { (eval echo configure:1095: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + + echo "$ac_t""yes" 1>&6 + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + + CMAKE_NO_ANSI_FOR_SCOPE=1 + echo "$ac_t""no" 1>&6 + +fi +rm -f conftest* + ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + + CXXFLAGS="$CXXFLAGS_ORIG" fi @@ -846,7 +1124,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:850: checking for $ac_word" >&5 +echo "configure:1128: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_CMAKE_AR_TMP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else |