From ab76705d8711f6de572b4edbc43cfd93ef947ec9 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 21 Feb 2001 17:36:24 +0000 Subject: [PATCH] Detect the MIPS pro C++ compiler. Some things don't work with it, however, so don't investigate further at the moment... git-svn-id: https://svn.dealii.org/trunk@4006 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/configure | 311 ++++++++++++++++++++++++------------------- deal.II/configure.in | 93 +++++++++---- 2 files changed, 239 insertions(+), 165 deletions(-) diff --git a/deal.II/configure b/deal.II/configure index ec6cde3e78..fe1f1a9d0f 100755 --- a/deal.II/configure +++ b/deal.II/configure @@ -1,6 +1,6 @@ #! /bin/sh -# From configure.in Revision: 1.52 +# From configure.in Revision: 1.54 @@ -712,49 +712,10 @@ cross_compiling=$ac_cv_prog_cxx_cross -# Check whether --enable-shared or --disable-shared was given. -if test "${enable_shared+set}" = set; then - enableval="$enable_shared" - enableshared=$enableval -else - enableshared=yes -fi - - -case "$target" in - *-aix* | alpha*-linux* | alpha*-osf4* | *cygwin ) - echo "configure: warning: Shared libraries not supported on $target. Using static libs instead" 1>&2 - enableshared=no - ;; -esac - - -if test $enableshared = yes ; then - echo "$ac_t""configuring for shared libraries" 1>&6 - CFLAGS="$CFLAGS -fPIC" - CXXFLAGS="$CXXFLAGS -fPIC" - LDFLAGS="$LDFLAGS -fPIC" - - lib_suffix=.so; -else - echo "$ac_t""configuring for static libraries" 1>&6 - CFLAGS="$CFLAGS " - CXXFLAGS="$CXXFLAGS " - LDFLAGS="$LDFLAGS " - - lib_suffix=.a; -fi - - - - - - - # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:758: checking for $ac_word" >&5 +echo "configure:719: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -784,7 +745,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:788: checking for $ac_word" >&5 +echo "configure:749: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -835,7 +796,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:839: checking for $ac_word" >&5 +echo "configure:800: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -867,7 +828,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:871: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:832: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -878,12 +839,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 882 "configure" +#line 843 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -909,12 +870,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:913: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:874: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:918: checking whether we are using GNU C" >&5 +echo "configure:879: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -923,7 +884,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:888: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -942,7 +903,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:946: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:907: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -976,7 +937,7 @@ fi # Extract the first word of "$CC", so it can be a program name with args. set dummy $CC; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:980: checking for $ac_word" >&5 +echo "configure:941: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1011,12 +972,13 @@ fi +OLDCXXFLAGS="$CXXFLAGS" for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl 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:1020: checking for $ac_word" >&5 +echo "configure:982: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1048,7 +1010,7 @@ test -n "$CXX" || CXX="gcc" echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1052: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 +echo "configure:1014: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1059,12 +1021,12 @@ cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext << EOF -#line 1063 "configure" +#line 1025 "configure" #include "confdefs.h" int main(){return(0);} EOF -if { (eval echo configure:1068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cxx_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1090,12 +1052,12 @@ if test $ac_cv_prog_cxx_works = no; then { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1094: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1056: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6 cross_compiling=$ac_cv_prog_cxx_cross echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 -echo "configure:1099: checking whether we are using GNU C++" >&5 +echo "configure:1061: checking whether we are using GNU C++" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1104,7 +1066,7 @@ else yes; #endif EOF -if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1108: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no @@ -1123,7 +1085,7 @@ ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 -echo "configure:1127: checking whether ${CXX-g++} accepts -g" >&5 +echo "configure:1089: checking whether ${CXX-g++} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1154,10 +1116,11 @@ else fi fi +CXXFLAGS="$OLDCXXFLAGS" # Extract the first word of "$CXX", so it can be a program name with args. set dummy $CXX; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1161: checking for $ac_word" >&5 +echo "configure:1124: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1189,6 +1152,7 @@ else echo "$ac_t""no" 1>&6 fi + if test "$GXX" = yes ; then # find out the right version GXX_VERSION_STRING=`($CXX -v 2>&1) | grep "gcc version"` @@ -1215,7 +1179,7 @@ if test "$GXX" = yes ; then ;; *) echo "$ac_t""compiler is unknown but accepted gcc version" 1>&6 - GXX_VERSION=other + GXX_VERSION=gcc-other ;; esac else @@ -1225,9 +1189,17 @@ else echo "$ac_t""compiler is IBM xlC" 1>&6 GXX_VERSION=ibm_xlc else - { echo "configure: error: No configuration options for this C++ compiler - supported at present" 1>&2; exit 1; } - exit 1 + + # Check whether we are dealing with the MIPSpro C++ compiler + is_mips_pro="`($CXX -version 2>&1) | grep MIPSpro`" + if test "x$is_mips_pro" != "x" ; then + echo "$ac_t""compiler is MIPSpro C++ compiler" 1>&6 + GXX_VERSION=MIPSpro + else + + { echo "configure: error: Unrecognized compiler" 1>&2; exit 1; } + exit 1 + fi fi fi @@ -1235,6 +1207,38 @@ fi +# Check whether --enable-shared or --disable-shared was given. +if test "${enable_shared+set}" = set; then + enableval="$enable_shared" + enableshared=$enableval +else + enableshared=yes +fi + + +case "$target" in + *-aix* | alpha*-linux* | alpha*-osf4* | *cygwin ) + echo "configure: warning: Shared libraries not supported on $target. Using static libs instead" 1>&2 + enableshared=no + ;; +esac + + +if test $enableshared = yes ; then + echo "$ac_t""configuring for shared libraries" 1>&6 + lib_suffix=.so; +else + echo "$ac_t""configuring for static libraries" 1>&6 + lib_suffix=.a; +fi + + + + + + + + if test "$GXX" = yes ; then CXXFLAGSO="$CXXFLAGS -O2 -Wuninitialized -felide-constructors -ftemplate-depth-32" @@ -1273,15 +1277,22 @@ if test "$GXX" = yes ; then else if test "x$GXX_VERSION" = "xibm_xlc" ; then - CXXFLAGSG="$CXXFLAGS -g -check=bounds -info=all -qrtti=all" + CXXFLAGSG="$CXXFLAGS -DDEBUG -check=bounds -info=all -qrtti=all" CXXFLAGSO="$CXXFLAGS -O2 -w -qansialias -qrtti=all" else - - - { echo "configure: error: No compiler options for this C++ compiler - specified at present" 1>&2; exit 1; } - exit 1 + if test "x$GXX_VERSION" = "xMIPSpro" ; then + CXXFLAGSG="$CXXFLAGS -DDEBUG -LANG:std" + CXXFLAGSO="$CXXFLAGS -LANG:alias_const=ON -LANG:std -w" + + else + + + + { echo "configure: error: No compiler options for this C++ compiler + specified at present" 1>&2; exit 1; } + exit 1 + fi fi fi @@ -1292,12 +1303,12 @@ fi if test "$GXX" = yes ; then echo $ac_n "checking whether -ggdb works for long symbols""... $ac_c" 1>&6 -echo "configure:1296: checking whether -ggdb works for long symbols" >&5 +echo "configure:1307: checking whether -ggdb works for long symbols" >&5 case "$target" in alpha*-osf*) CXXFLAGS="-ggdb $CXXFLAGSG" cat > conftest.$ac_ext < @@ -1318,7 +1329,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1333: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* CXXFLAGSG="-ggdb $CXXFLAGSG" @@ -1348,8 +1359,32 @@ fi +if test $enableshared = yes ; then + case "$GXX_VERSION" in + *egcs* | *gcc* | *ibm_xlc*) + CFLAGS="$CFLAGS -fPIC" + CXXFLAGSG="$CXXFLAGSG -fPIC" + CXXFLAGSO="$CXXFLAGSO -fPIC" + LDFLAGS="$LDFLAGS -fPIC" + ;; + *MIPSpro*) + CFLAGS="$CFLAGS -KPIC" + CXXFLAGSG="$CXXFLAGSG -KPIC" + CXXFLAGSO="$CXXFLAGSO -KPIC" + LDFLAGS="$LDFLAGS -KPIC" + ;; + + *) + { echo "configure: error: No shared lib options for this compiler specified" 1>&2; exit 1; } + exit 1 + esac +fi + + + + echo $ac_n "checking whether AssertThrow works with debug flags""... $ac_c" 1>&6 -echo "configure:1353: checking whether AssertThrow works with debug flags" >&5 +echo "configure:1388: checking whether AssertThrow works with debug flags" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' @@ -1359,7 +1394,7 @@ cross_compiling=$ac_cv_prog_cxx_cross CXXFLAGS=$CXXFLAGSG cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1409: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t"""yes"" 1>&6 @@ -1387,7 +1422,7 @@ fi rm -f conftest* echo $ac_n "checking whether AssertThrow works with optimized flags""... $ac_c" 1>&6 -echo "configure:1391: checking whether AssertThrow works with optimized flags" >&5 +echo "configure:1426: checking whether AssertThrow works with optimized flags" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' @@ -1397,7 +1432,7 @@ cross_compiling=$ac_cv_prog_cxx_cross CXXFLAGS=$CXXFLAGSO cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t"""yes"" 1>&6 @@ -1426,7 +1461,7 @@ rm -f conftest* echo $ac_n "checking for std::vector bug""... $ac_c" 1>&6 -echo "configure:1430: checking for std::vector bug" >&5 +echo "configure:1465: checking for std::vector bug" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' @@ -1436,7 +1471,7 @@ cross_compiling=$ac_cv_prog_cxx_cross CXXFLAGS="$CXXFLAGSG" cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1495: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""no" 1>&6 @@ -1477,7 +1512,7 @@ rm -f conftest* echo $ac_n "checking for std::iterator class""... $ac_c" 1>&6 -echo "configure:1481: checking for std::iterator class" >&5 +echo "configure:1516: checking for std::iterator class" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' @@ -1487,7 +1522,7 @@ cross_compiling=$ac_cv_prog_cxx_cross CXXFLAGS="$CXXFLAGSG" cat > conftest.$ac_ext < @@ -1498,7 +1533,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1502: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1537: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 @@ -1519,7 +1554,7 @@ rm -f conftest* echo $ac_n "checking whether lrand48 needs to be declared with -ansi""... $ac_c" 1>&6 -echo "configure:1523: checking whether lrand48 needs to be declared with -ansi" >&5 +echo "configure:1558: checking whether lrand48 needs to be declared with -ansi" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' @@ -1529,7 +1564,7 @@ cross_compiling=$ac_cv_prog_cxx_cross CXXFLAGS="$CXXFLAGSG" cat > conftest.$ac_ext < @@ -1545,7 +1580,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1549: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1584: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""no" 1>&6 @@ -1566,7 +1601,7 @@ rm -f conftest* echo $ac_n "checking whether getrusage is properly declared""... $ac_c" 1>&6 -echo "configure:1570: checking whether getrusage is properly declared" >&5 +echo "configure:1605: checking whether getrusage is properly declared" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' @@ -1575,7 +1610,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < @@ -1587,7 +1622,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1626: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t"""yes"" 1>&6 @@ -1606,7 +1641,7 @@ rm -f conftest* echo $ac_n "checking whether isnan is declared with debug flags""... $ac_c" 1>&6 -echo "configure:1610: checking whether isnan is declared with debug flags" >&5 +echo "configure:1645: checking whether isnan is declared with debug flags" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' @@ -1617,7 +1652,7 @@ cross_compiling=$ac_cv_prog_cxx_cross CXXFLAGS=$CXXFLAGSG deal_II_isnan_flag="" cat > conftest.$ac_ext < @@ -1629,7 +1664,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1633: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1668: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t"""yes"" 1>&6 @@ -1645,7 +1680,7 @@ rm -f conftest* if test "x$deal_II_isnan_flag" = "x" ; then cat > conftest.$ac_ext < @@ -1657,7 +1692,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1661: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1696: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t"""yes"" 1>&6 @@ -1677,7 +1712,7 @@ rm -f conftest* for testflag in -D_ISOC99_SOURCE -D__EXTENSIONS__ ; do CXXFLAGS="$CXXFLAGSG $testflag" cat > conftest.$ac_ext < @@ -1689,7 +1724,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1693: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1728: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* deal_II_isnan_flag="-DHAVE_ISNAN $testflag" @@ -1702,7 +1737,7 @@ fi rm -f conftest* cat > conftest.$ac_ext < @@ -1714,7 +1749,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1718: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1753: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* deal_II_isnan_flag="-DHAVE_UNDERSCORE_ISNAN $testflag" @@ -1736,7 +1771,7 @@ rm -f conftest* fi echo $ac_n "checking whether isnan is declared with optimized flags""... $ac_c" 1>&6 -echo "configure:1740: checking whether isnan is declared with optimized flags" >&5 +echo "configure:1775: checking whether isnan is declared with optimized flags" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' @@ -1747,7 +1782,7 @@ cross_compiling=$ac_cv_prog_cxx_cross CXXFLAGS=$CXXFLAGSO deal_II_isnan_flag="" cat > conftest.$ac_ext < @@ -1759,7 +1794,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1763: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1798: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t"""yes"" 1>&6 @@ -1775,7 +1810,7 @@ rm -f conftest* if test "x$deal_II_isnan_flag" = "x" ; then cat > conftest.$ac_ext < @@ -1787,7 +1822,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1791: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1826: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t"""yes"" 1>&6 @@ -1807,7 +1842,7 @@ rm -f conftest* for testflag in -D_ISOC99_SOURCE -D__EXTENSIONS__ ; do CXXFLAGS="$CXXFLAGSO $testflag" cat > conftest.$ac_ext < @@ -1819,7 +1854,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1823: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1858: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* deal_II_isnan_flag="-DHAVE_ISNAN $testflag" @@ -1832,7 +1867,7 @@ fi rm -f conftest* cat > conftest.$ac_ext < @@ -1844,7 +1879,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:1848: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* deal_II_isnan_flag="-DHAVE_UNDERSCORE_ISNAN $testflag" @@ -1887,7 +1922,7 @@ if test "$enablemultithreading" = yes ; then if test "$GXX" = yes ; then echo $ac_n "checking for platform specific thread flags""... $ac_c" 1>&6 -echo "configure:1891: checking for platform specific thread flags" >&5 +echo "configure:1926: checking for platform specific thread flags" >&5 for i in threads mt pthread pthreads mthreads Kthread kthread invalid_last_entry; do CXXFLAGS="$CXXFLAGSG -$i" @@ -1923,7 +1958,7 @@ echo "configure:1891: checking for platform specific thread flags" >&5 echo $ac_n "checking for platform specific multi-threading defines""... $ac_c" 1>&6 -echo "configure:1927: checking for platform specific multi-threading defines" >&5 +echo "configure:1962: checking for platform specific multi-threading defines" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' @@ -1932,7 +1967,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1985: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t"""not necessary"" 1>&6 @@ -1998,7 +2033,7 @@ fi if test "$withmultithreading" != no ; then echo $ac_n "checking for ACE""... $ac_c" 1>&6 -echo "configure:2002: checking for ACE" >&5 +echo "configure:2037: checking for ACE" >&5 if test -d "$withmultithreading" ; then echo "$ac_t""found" 1>&6 else @@ -2022,7 +2057,7 @@ fi # Extract the first word of "f77", so it can be a program name with args. set dummy f77; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2026: checking for $ac_word" >&5 +echo "configure:2061: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_F77'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2058,7 +2093,7 @@ if test "x$F77" = "x" ; then # Extract the first word of "g77", so it can be a program name with args. set dummy g77; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2062: checking for $ac_word" >&5 +echo "configure:2097: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_F77'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2119,7 +2154,7 @@ if test "x$F77" != "x" ; then ;; *) echo "$ac_t""compiler is unknown but accepted gcc version" 1>&6 - F77_VERSION=other + F77_VERSION=gcc-other ;; esac @@ -2200,7 +2235,7 @@ fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2204: checking for $ac_word" >&5 +echo "configure:2239: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2238,7 +2273,7 @@ fi echo $ac_n "checking for HSL subroutines""... $ac_c" 1>&6 -echo "configure:2242: checking for HSL subroutines" >&5 +echo "configure:2277: checking for HSL subroutines" >&5 hsl_subroutines="" if test -r contrib/hsl/source/ma27.f ; then hsl_subroutines="$hsl_subroutines MA27" @@ -2273,7 +2308,7 @@ if test "${with_blas+set}" = set; then withval="$with_blas" if test "$withval" != no ; then echo $ac_n "checking for BLAS""... $ac_c" 1>&6 -echo "configure:2277: checking for BLAS" >&5 +echo "configure:2312: checking for BLAS" >&5 if test -r "$withval" ; then echo "$ac_t""found" 1>&6 else @@ -2289,7 +2324,7 @@ EOF else echo $ac_n "checking for main in -lblas""... $ac_c" 1>&6 -echo "configure:2293: checking for main in -lblas" >&5 +echo "configure:2328: checking for main in -lblas" >&5 ac_lib_var=`echo blas'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2297,14 +2332,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lblas $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2336,7 +2371,7 @@ if test "${with_lapack+set}" = set; then withval="$with_lapack" if test "$withval" != no ; then echo $ac_n "checking for LAPACK""... $ac_c" 1>&6 -echo "configure:2340: checking for LAPACK" >&5 +echo "configure:2375: checking for LAPACK" >&5 if test -r "$withval" ; then echo "$ac_t""found" 1>&6 else @@ -2352,7 +2387,7 @@ EOF else echo $ac_n "checking for dgels_ in -llapack""... $ac_c" 1>&6 -echo "configure:2356: checking for dgels_ in -llapack" >&5 +echo "configure:2391: checking for dgels_ in -llapack" >&5 ac_lib_var=`echo lapack'_'dgels_ | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2360,7 +2395,7 @@ else ac_save_LIBS="$LIBS" LIBS="-llapack $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2441,7 +2476,7 @@ else fi echo $ac_n "checking for kdoc""... $ac_c" 1>&6 -echo "configure:2445: checking for kdoc" >&5 +echo "configure:2480: checking for kdoc" >&5 if test "$kdocdir" != ${DEAL2_DIR}/contrib/kdoc/bin ; then if test -r $kdocdir/kdoc ; then echo "$ac_t""found" 1>&6 @@ -2477,7 +2512,7 @@ if test "$docxx" = to-be-determined ; then # Extract the first word of ""doc++"", so it can be a program name with args. set dummy "doc++"; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2481: checking for $ac_word" >&5 +echo "configure:2516: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_docxx'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2511,7 +2546,7 @@ fi else echo $ac_n "checking for doc++""... $ac_c" 1>&6 -echo "configure:2515: checking for doc++" >&5 +echo "configure:2550: checking for doc++" >&5 if test -x "$docxx" ; then echo "$ac_t""yes" 1>&6 else @@ -2534,16 +2569,16 @@ cross_compiling=$ac_cv_prog_cxx_cross CXXFLAGS="$CXXFLAGSG" echo $ac_n "checking for consistency of CXXFLAGSG flags""... $ac_c" 1>&6 -echo "configure:2538: checking for consistency of CXXFLAGSG flags" >&5 +echo "configure:2573: checking for consistency of CXXFLAGSG flags" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2582: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 @@ -2561,16 +2596,16 @@ rm -f conftest* CXXFLAGS="$CXXFLAGSO" echo $ac_n "checking for consistency of CXXFLAGSO flags""... $ac_c" 1>&6 -echo "configure:2565: checking for consistency of CXXFLAGSO flags" >&5 +echo "configure:2600: checking for consistency of CXXFLAGSO flags" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2609: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 @@ -2715,11 +2750,11 @@ s%@build_alias@%$build_alias%g s%@build_cpu@%$build_cpu%g s%@build_vendor@%$build_vendor%g s%@build_os@%$build_os%g -s%@enableshared@%$enableshared%g -s%@lib_suffix@%$lib_suffix%g s%@CC@%$CC%g s%@CXX@%$CXX%g s%@GXX_VERSION@%$GXX_VERSION%g +s%@enableshared@%$enableshared%g +s%@lib_suffix@%$lib_suffix%g s%@CXXFLAGSG@%$CXXFLAGSG%g s%@CXXFLAGSO@%$CXXFLAGSO%g s%@enablemultithreading@%$enablemultithreading%g diff --git a/deal.II/configure.in b/deal.II/configure.in index 27d4473935..a9700ea548 100644 --- a/deal.II/configure.in +++ b/deal.II/configure.in @@ -60,8 +60,15 @@ AC_PATH_PROG(CC,$CC) dnl Find the right C++ compiler. Note that for historical reasons, the dnl compiler name and version is in the name GXX_VERSION, even if the dnl compiler is not GCC. +dnl +dnl Note that on MIPS systems, the AC_PROG_CXX call erroneously sets +dnl -g in CXXFLAGS, which is not exactly what we want, so we store +dnl the old value temporarily +OLDCXXFLAGS="$CXXFLAGS" AC_PROG_CXX +CXXFLAGS="$OLDCXXFLAGS" AC_PATH_PROG(CXX,$CXX) + if test "$GXX" = yes ; then # find out the right version GXX_VERSION_STRING=`($CXX -v 2>&1) | grep "gcc version"` @@ -90,7 +97,7 @@ if test "$GXX" = yes ; then ;; *) AC_MSG_RESULT(compiler is unknown but accepted gcc version) - GXX_VERSION=other + GXX_VERSION=gcc-other ;; esac else @@ -106,9 +113,18 @@ else AC_MSG_RESULT(compiler is IBM xlC) GXX_VERSION=ibm_xlc else - AC_MSG_ERROR(No configuration options for this C++ compiler - supported at present) - exit 1 + + # Check whether we are dealing with the MIPSpro C++ compiler + is_mips_pro="`($CXX -version 2>&1) | grep MIPSpro`" + if test "x$is_mips_pro" != "x" ; then + AC_MSG_RESULT(compiler is MIPSpro C++ compiler) + GXX_VERSION=MIPSpro + else + + dnl Aw, nothing suitable found... + AC_MSG_ERROR(Unrecognized compiler, sorry) + exit 1 + fi fi fi AC_SUBST(GXX_VERSION) @@ -141,21 +157,12 @@ case "$target" in esac -dnl Set compile flags accordingly +dnl Output results; set compile flags accordingly further below if test $enableshared = yes ; then AC_MSG_RESULT(configuring for shared libraries) - CFLAGS="$CFLAGS -fPIC" - CXXFLAGS="$CXXFLAGS -fPIC" - LDFLAGS="$LDFLAGS -fPIC" - lib_suffix=.so; else AC_MSG_RESULT(configuring for static libraries) -dnl Define these variables so they are not filled with default values later - CFLAGS="$CFLAGS " - CXXFLAGS="$CXXFLAGS " - LDFLAGS="$LDFLAGS " - lib_suffix=.a; fi @@ -174,7 +181,6 @@ dnl dnl CXXFLAGSO are the flags for optimized mode dnl CXXFLAGSG are the flags for debug mode dnl ------------------------------------------------------------- - if test "$GXX" = yes ; then CXXFLAGSO="$CXXFLAGS -O2 -Wuninitialized -felide-constructors -ftemplate-depth-32" CXXFLAGSG="$CXXFLAGS -DDEBUG -ansi -pedantic -Wall -W -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Winline -Woverloaded-virtual -Wstrict-prototypes -Wsynth -Wsign-compare -Wconversion -Wswitch -ftemplate-depth-32" @@ -227,22 +233,29 @@ if test "$GXX" = yes ; then else if test "x$GXX_VERSION" = "xibm_xlc" ; then - CXXFLAGSG="$CXXFLAGS -g -check=bounds -info=all -qrtti=all" + CXXFLAGSG="$CXXFLAGS -DDEBUG -check=bounds -info=all -qrtti=all" CXXFLAGSO="$CXXFLAGS -O2 -w -qansialias -qrtti=all" else - dnl Other compiler + if test "x$GXX_VERSION" = "xMIPSpro" ; then + CXXFLAGSG="$CXXFLAGS -DDEBUG -LANG:std" + CXXFLAGSO="$CXXFLAGS -LANG:alias_const=ON -LANG:std -w" - dnl For DECs cxx we should use the following options: - dnl CXXFLAGSO: -ansi_alias -O3 - dnl CXXFLAGSG: -std strict_ansi_errors -w0 - dnl if necessary: -shared, -pthread - dnl Should one use -compress? -distinguish_nested_enums? -nousing_std? - dnl -pch? -noimplicit_include? + else + + dnl Other compiler - AC_MSG_ERROR(No compiler options for this C++ compiler - specified at present) - exit 1 + dnl For DECs cxx we should use the following options: + dnl CXXFLAGSO: -ansi_alias -O3 + dnl CXXFLAGSG: -std strict_ansi_errors -w0 + dnl if necessary: -shared, -pthread + dnl Should one use -compress? -distinguish_nested_enums? -nousing_std? + dnl -pch? -noimplicit_include? + + AC_MSG_ERROR(No compiler options for this C++ compiler + specified at present) + exit 1 + fi fi fi @@ -309,6 +322,32 @@ fi +dnl Next set flags for shared libraries, if so needed. This is simple, +dnl as most compilers want to see -fPIC. Some others need -KPIC, however +if test $enableshared = yes ; then + case "$GXX_VERSION" in + *egcs* | *gcc* | *ibm_xlc*) + CFLAGS="$CFLAGS -fPIC" + CXXFLAGSG="$CXXFLAGSG -fPIC" + CXXFLAGSO="$CXXFLAGSO -fPIC" + LDFLAGS="$LDFLAGS -fPIC" + ;; + *MIPSpro*) + CFLAGS="$CFLAGS -KPIC" + CXXFLAGSG="$CXXFLAGSG -KPIC" + CXXFLAGSO="$CXXFLAGSO -KPIC" + LDFLAGS="$LDFLAGS -KPIC" + ;; + + *) + AC_MSG_ERROR(No shared lib options for this compiler specified) + exit 1 + esac +fi + + + + dnl On some systems (well, DEC Alphas are the only ones we know of), dnl gcc2.95 throws the hands in the air if it sees one of the AssertThrow dnl calls, and dies with an internal compiler error. If this is the case, @@ -457,7 +496,7 @@ if test "x$F77" != "x" ; then ;; *) AC_MSG_RESULT(compiler is unknown but accepted gcc version) - F77_VERSION=other + F77_VERSION=gcc-other ;; esac -- 2.39.5