From 941a1bf40ec41ae333d746ef7eb9402ac3345c73 Mon Sep 17 00:00:00 2001 From: wolf Date: Thu, 26 May 2005 17:34:56 +0000 Subject: [PATCH] Use blas when using petsc with static libs. git-svn-id: https://svn.dealii.org/trunk@10765 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/aclocal.m4 | 5 + deal.II/configure | 369 +++++++++++++++++++++++++++++++++---------- deal.II/configure.in | 38 +++-- 3 files changed, 319 insertions(+), 93 deletions(-) diff --git a/deal.II/aclocal.m4 b/deal.II/aclocal.m4 index 263acb55eb..369d617ffb 100644 --- a/deal.II/aclocal.m4 +++ b/deal.II/aclocal.m4 @@ -4413,6 +4413,11 @@ AC_DEFUN(DEAL_II_CONFIGURE_PETSC, dnl if test "$USE_CONTRIB_PETSC" = "yes" ; then DEAL_II_CONFIGURE_PETSC_ARCH DEAL_II_CONFIGURE_PETSC_VERSION + + dnl Finally set with-petsc if this hasn't happened yet + if test "x$with-petsc" = "x" ; then + with-petsc="yes" + fi fi ]) diff --git a/deal.II/configure b/deal.II/configure index 30c9b44756..5e6d4af652 100755 --- a/deal.II/configure +++ b/deal.II/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 1.185 . +# From configure.in Revision: 1.201 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.54. # @@ -270,7 +270,7 @@ PACKAGE_BUGREPORT= ac_unique_file="deal.II" ac_subdirs_all="$ac_subdirs_all contrib tests" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS DEAL_II_VERSION DEAL_II_MAJOR DEAL_II_MINOR DEAL_II_PATH DEAL2_DIR build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GXX_VERSION CXXFLAGSG CXXFLAGSO CXXFLAGSPIC SHLIBLD CC_VERSION enablemultithreading withmultithreading F77 F77_VERSION F77FLAGSO F77FLAGSG F77FLAGSPIC F77LIBS enableshared static_lib_suffix shared_lib_suffix AR RANLIB ac_ct_RANLIB USE_CONTRIB_PETSC DEAL_II_PETSC_DIR DEAL_II_PETSC_ARCH DEAL_II_PETSC_VERSION_MAJOR DEAL_II_PETSC_VERSION_MINOR DEAL_II_PETSC_VERSION_SUBMINOR DEAL_II_DEFINE_DEAL_II_USE_PETSC NEEDS_F77LIBS HSL_INCLUDE_DIR USE_CONTRIB_HSL TECPLOT_INCLUDE_DIR USE_CONTRIB_METIS DEAL_II_METIS_DIR UMFPACK_LIB UMFPACK_INCLUDE_DIR USE_CONTRIB_UMFPACK DOXYGEN DOT DEAL_II_HAVE_DOT PERL subdirs LDFLAGSPIC LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS DEAL_II_VERSION DEAL_II_MAJOR DEAL_II_MINOR DEAL_II_PATH DEAL2_DIR build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GXX_VERSION GXX_VERSION_DETAILED CXXFLAGSG CXXFLAGSO CXXFLAGSPIC SHLIBLD CC_VERSION CFLAGSPIC enablemultithreading withmultithreading F77 F77_VERSION F77FLAGSO F77FLAGSG F77FLAGSPIC F77LIBS enableshared static_lib_suffix shared_lib_suffix AR RANLIB ac_ct_RANLIB enableparser DEAL_II_DISABLE_PARSER USE_CONTRIB_PETSC DEAL_II_PETSC_DIR DEAL_II_PETSC_ARCH DEAL_II_PETSC_VERSION_MAJOR DEAL_II_PETSC_VERSION_MINOR DEAL_II_PETSC_VERSION_SUBMINOR DEAL_II_DEFINE_DEAL_II_USE_PETSC NEEDS_F77LIBS HSL_INCLUDE_DIR USE_CONTRIB_HSL TECPLOT_INCLUDE_DIR USE_CONTRIB_METIS DEAL_II_METIS_DIR UMFPACK_LIB UMFPACK_INCLUDE_DIR USE_CONTRIB_UMFPACK DOXYGEN DOT DEAL_II_HAVE_DOT PERL subdirs LDFLAGSPIC LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -813,6 +813,9 @@ Optional Features: --enable-multithreading set compiler flags to allow for multithreaded programs --enable-shared set compiler flags to generate shared libraries + --enable-parser While switched on by default, this option allows to + switch off support for the function parser in the + contrib directory. --enable-compat-blocker=mapping block functions that implicitely assume a Q1 mapping @@ -2589,7 +2592,6 @@ fi - if test "$GXX" = "yes" ; then GXX_VERSION_STRING=`($CXX -v 2>&1) | grep "gcc version"` if test "x$GXX_VERSION_STRING" = "x" ; then @@ -2600,15 +2602,16 @@ fi if test "$GXX" = yes ; then GXX_VERSION_STRING=`($CXX -v 2>&1) | grep "gcc version"` case "$GXX_VERSION_STRING" in - *"egcs-1.1"*) - echo "$as_me:$LINENO: result: C++ compiler is egcs-1.1" >&5 -echo "${ECHO_T}C++ compiler is egcs-1.1" >&6 - GXX_VERSION=egcs1.1 - ;; *2.95*) - echo "$as_me:$LINENO: result: C++ compiler is gcc-2.95" >&5 -echo "${ECHO_T}C++ compiler is gcc-2.95" >&6 GXX_VERSION=gcc2.95 + case "$GXX_VERSION_STRING" in + *version\ 2.95.0*) GXX_VERSION_DETAILED=gcc2.95.0 ;; + *version\ 2.95.1*) GXX_VERSION_DETAILED=gcc2.95.1 ;; + *version\ 2.95.2*) GXX_VERSION_DETAILED=gcc2.95.2 ;; + *version\ 2.95.3*) GXX_VERSION_DETAILED=gcc2.95.3 ;; + *version\ 2.95.4*) GXX_VERSION_DETAILED=gcc2.95.4 ;; + *) GXX_VERSION_DETAILED=gcc2.95.x ;; + esac ;; *2.96*) { { echo "$as_me:$LINENO: error: C++ compiler reports faulty gcc 2.96. Please install a new compiler" >&5 @@ -2622,39 +2625,63 @@ echo "${ECHO_T}C++ compiler is gcc-2.97" >&6 GXX_VERSION=gcc2.97 ;; *version\ 3.0*) - echo "$as_me:$LINENO: result: C++ compiler is gcc-3.0" >&5 -echo "${ECHO_T}C++ compiler is gcc-3.0" >&6 GXX_VERSION=gcc3.0 + case "$GXX_VERSION_STRING" in + *version\ 3.0.0*) GXX_VERSION_DETAILED=gcc3.0.0 ;; + *version\ 3.0.1*) GXX_VERSION_DETAILED=gcc3.0.1 ;; + *version\ 3.0.2*) GXX_VERSION_DETAILED=gcc3.0.2 ;; + *version\ 3.0.3*) GXX_VERSION_DETAILED=gcc3.0.3 ;; + *version\ 3.0.4*) GXX_VERSION_DETAILED=gcc3.0.4 ;; + *) GXX_VERSION_DETAILED=gcc3.0.x ;; + esac ;; *version\ 3.1*) - echo "$as_me:$LINENO: result: C++ compiler is gcc-3.1" >&5 -echo "${ECHO_T}C++ compiler is gcc-3.1" >&6 GXX_VERSION=gcc3.1 + case "$GXX_VERSION_STRING" in + *version\ 3.1.0*) GXX_VERSION_DETAILED=gcc3.1.0 ;; + *version\ 3.1.1*) GXX_VERSION_DETAILED=gcc3.1.1 ;; + *) GXX_VERSION_DETAILED=gcc3.1.x ;; + esac ;; *version\ 3.2*) - echo "$as_me:$LINENO: result: C++ compiler is gcc-3.2" >&5 -echo "${ECHO_T}C++ compiler is gcc-3.2" >&6 GXX_VERSION=gcc3.2 + case "$GXX_VERSION_STRING" in + *version\ 3.2.0*) GXX_VERSION_DETAILED=gcc3.2.0 ;; + *version\ 3.2.1*) GXX_VERSION_DETAILED=gcc3.2.1 ;; + *version\ 3.2.2*) GXX_VERSION_DETAILED=gcc3.2.2 ;; + *version\ 3.2.3*) GXX_VERSION_DETAILED=gcc3.2.3 ;; + *) GXX_VERSION_DETAILED=gcc3.2.x ;; + esac ;; *version\ 3.3*) - echo "$as_me:$LINENO: result: C++ compiler is gcc-3.3" >&5 -echo "${ECHO_T}C++ compiler is gcc-3.3" >&6 GXX_VERSION=gcc3.3 + case "$GXX_VERSION_STRING" in + *version\ 3.3.0*) GXX_VERSION_DETAILED=gcc3.3.0 ;; + *version\ 3.3.1*) GXX_VERSION_DETAILED=gcc3.3.1 ;; + *version\ 3.3.2*) GXX_VERSION_DETAILED=gcc3.3.2 ;; + *version\ 3.3.3*) GXX_VERSION_DETAILED=gcc3.3.3 ;; + *version\ 3.3.4*) GXX_VERSION_DETAILED=gcc3.3.4 ;; + *) GXX_VERSION_DETAILED=gcc3.3.x ;; + esac ;; *version\ 3.4*) - echo "$as_me:$LINENO: result: C++ compiler is gcc-3.4" >&5 -echo "${ECHO_T}C++ compiler is gcc-3.4" >&6 + case "$GXX_VERSION_STRING" in + *version\ 3.4.0*) GXX_VERSION_DETAILED=gcc3.4.0 ;; + *version\ 3.4.1*) GXX_VERSION_DETAILED=gcc3.4.1 ;; + *version\ 3.4.2*) GXX_VERSION_DETAILED=gcc3.4.2 ;; + *version\ 3.4.3*) GXX_VERSION_DETAILED=gcc3.4.3 ;; + *version\ 3.4.4*) GXX_VERSION_DETAILED=gcc3.4.4 ;; + *) GXX_VERSION_DETAILED=gcc3.4.x ;; + esac GXX_VERSION=gcc3.4 ;; - *version\ 3.5*) - echo "$as_me:$LINENO: result: C++ compiler is gcc-3.5" >&5 -echo "${ECHO_T}C++ compiler is gcc-3.5" >&6 - GXX_VERSION=gcc3.5 - ;; *version\ 4.0*) - echo "$as_me:$LINENO: result: C++ compiler is gcc-4.0" >&5 -echo "${ECHO_T}C++ compiler is gcc-4.0" >&6 GXX_VERSION=gcc4.0 + case "$GXX_VERSION_STRING" in + *version\ 4.0.0*) GXX_VERSION_DETAILED=gcc4.0.0 ;; + *version\ 4.0.1*) GXX_VERSION_DETAILED=gcc4.0.1 ;; + *) GXX_VERSION_DETAILED=gcc4.0.x ;; + esac ;; *2.4* | *2.5* | *2.6* | *2.7* | *2.8*) echo "$as_me:$LINENO: result: C++ compiler is $GXX_VERSION_STRING" >&5 @@ -2669,6 +2696,10 @@ echo "${ECHO_T}C++ compiler is unknown but accepted gcc version" >&6 GXX_VERSION=gcc-other ;; esac + echo "$as_me:$LINENO: result: C++ compiler is $GXX_VERSION (subversion $GXX_VERSION_DETAILED)" >&5 +echo "${ECHO_T}C++ compiler is $GXX_VERSION (subversion $GXX_VERSION_DETAILED)" >&6 + + else is_ibm_xlc="`($CXX 2>&1) | egrep 'VisualAge C++|C Set ++|C for AIX Compiler'`" @@ -2676,6 +2707,7 @@ echo "${ECHO_T}C++ compiler is unknown but accepted gcc version" >&6 echo "$as_me:$LINENO: result: C++ compiler is IBM xlC" >&5 echo "${ECHO_T}C++ compiler is IBM xlC" >&6 GXX_VERSION=ibm_xlc + GXX_VERSION_DETAILED=$GXX_VERSION else mips_pro="`($CXX -version 2>&1) | grep MIPSpro`" @@ -2688,6 +2720,7 @@ echo "${ECHO_T}C++ compiler is $mips_pro" >&6 echo "$as_me: error: This compiler is not supported" >&2;} { (exit 1); exit 1; }; } GXX_VERSION=MIPSpro7.3 + GXX_VERSION_DETAILED=$GXX_VERSION ;; *7.4) echo "$as_me:$LINENO: result: C++ compiler is MIPSpro compiler 7.4" >&5 @@ -2696,22 +2729,26 @@ echo "${ECHO_T}C++ compiler is MIPSpro compiler 7.4" >&6 echo "$as_me: error: This compiler is not supported. Use MIPSPro compiler 7.4x" >&2;} { (exit 1); exit 1; }; } GXX_VERSION=MIPSpro7.4 + GXX_VERSION_DETAILED=$GXX_VERSION ;; *7.41* | *7.42* | *7.43* | *7.44*) echo "$as_me:$LINENO: result: C++ compiler is MIPSpro compiler 7.4x" >&5 echo "${ECHO_T}C++ compiler is MIPSpro compiler 7.4x" >&6 GXX_VERSION=MIPSpro7.4x + GXX_VERSION_DETAILED=$GXX_VERSION ;; *"7.5"*) echo "$as_me:$LINENO: result: C++ compiler is MIPSpro compiler 7.5" >&5 echo "${ECHO_T}C++ compiler is MIPSpro compiler 7.5" >&6 GXX_VERSION=MIPSpro7.5 + GXX_VERSION_DETAILED=$GXX_VERSION ;; *) echo "$as_me:$LINENO: result: C++ compiler is unknown version but accepted MIPSpro compiler version" >&5 echo "${ECHO_T}C++ compiler is unknown version but accepted MIPSpro compiler version" >&6 GXX_VERSION=MIPSpro-other - ;; + GXX_VERSION_DETAILED=$GXX_VERSION + ;; esac else @@ -2725,33 +2762,35 @@ echo "${ECHO_T}C++ compiler is unknown version but accepted MIPSpro compiler ver version7="`echo $is_intel_icc | grep 'Version 7'`" version8="`echo $is_intel_icc | grep 'Version 8'`" if test "x$version5" != "x" ; then - echo "$as_me:$LINENO: result: C++ compiler is Intel ICC 5" >&5 -echo "${ECHO_T}C++ compiler is Intel ICC 5" >&6 + echo "$as_me:$LINENO: result: C++ compiler is icc-5" >&5 +echo "${ECHO_T}C++ compiler is icc-5" >&6 GXX_VERSION=intel_icc5 else if test "x$version6" != "x" ; then - echo "$as_me:$LINENO: result: C++ compiler is Intel ICC 6" >&5 -echo "${ECHO_T}C++ compiler is Intel ICC 6" >&6 + echo "$as_me:$LINENO: result: C++ compiler is icc-6" >&5 +echo "${ECHO_T}C++ compiler is icc-6" >&6 GXX_VERSION=intel_icc6 else if test "x$version7" != "x" ; then - echo "$as_me:$LINENO: result: C++ compiler is Intel ICC 7" >&5 -echo "${ECHO_T}C++ compiler is Intel ICC 7" >&6 + echo "$as_me:$LINENO: result: C++ compiler is icc-7" >&5 +echo "${ECHO_T}C++ compiler is icc-7" >&6 GXX_VERSION=intel_icc7 else if test "x$version8" != "x" ; then - echo "$as_me:$LINENO: result: C++ compiler is Intel ICC 8" >&5 -echo "${ECHO_T}C++ compiler is Intel ICC 8" >&6 + echo "$as_me:$LINENO: result: C++ compiler is icc-8" >&5 +echo "${ECHO_T}C++ compiler is icc-8" >&6 GXX_VERSION=intel_icc8 else - echo "$as_me:$LINENO: result: C++ compiler is Intel ICC" >&5 -echo "${ECHO_T}C++ compiler is Intel ICC" >&6 + echo "$as_me:$LINENO: result: C++ compiler is icc" >&5 +echo "${ECHO_T}C++ compiler is icc" >&6 GXX_VERSION=intel_icc fi fi fi fi + GXX_VERSION_DETAILED=$GXX_VERSION else is_dec_cxx="`($CXX -V 2>&1) | grep 'Compaq C++'`" if test "x$is_dec_cxx" != "x" ; then - echo "$as_me:$LINENO: result: C++ compiler is Compaq cxx" >&5 -echo "${ECHO_T}C++ compiler is Compaq cxx" >&6 + echo "$as_me:$LINENO: result: C++ compiler is Compaq-cxx" >&5 +echo "${ECHO_T}C++ compiler is Compaq-cxx" >&6 GXX_VERSION=compaq_cxx + GXX_VERSION_DETAILED=$GXX_VERSION else is_sun_cc="`($CXX -V 2>&1) | grep 'Sun WorkShop'`" @@ -2759,6 +2798,7 @@ echo "${ECHO_T}C++ compiler is Compaq cxx" >&6 echo "$as_me:$LINENO: result: C++ compiler is Sun Workshop compiler" >&5 echo "${ECHO_T}C++ compiler is Sun Workshop compiler" >&6 GXX_VERSION=sun_workshop + GXX_VERSION_DETAILED=$GXX_VERSION else is_sun_forte_cc="`($CXX -V 2>&1) | grep 'Forte'`" @@ -2766,6 +2806,7 @@ echo "${ECHO_T}C++ compiler is Sun Workshop compiler" >&6 echo "$as_me:$LINENO: result: C++ compiler is Sun Forte compiler" >&5 echo "${ECHO_T}C++ compiler is Sun Forte compiler" >&6 GXX_VERSION=sun_forte + GXX_VERSION_DETAILED=$GXX_VERSION else is_pgcc="`($CXX -V 2>&1) | grep 'Portland Group'`" @@ -2773,21 +2814,24 @@ echo "${ECHO_T}C++ compiler is Sun Forte compiler" >&6 echo "$as_me:$LINENO: result: C++ compiler is Portland Group C++" >&5 echo "${ECHO_T}C++ compiler is Portland Group C++" >&6 GXX_VERSION=portland_group - else + GXX_VERSION_DETAILED=$GXX_VERSION + else is_aCC="`($CXX -V 2>&1) | grep 'aCC'`" if test "x$is_aCC" != "x" ; then echo "$as_me:$LINENO: result: C++ compiler is HP aCC" >&5 echo "${ECHO_T}C++ compiler is HP aCC" >&6 GXX_VERSION=hp_aCC - else + GXX_VERSION_DETAILED=$GXX_VERSION + else is_bcc="`($CXX -h 2>&1) | grep 'Borland'`" if test "x$is_bcc" != "x" ; then echo "$as_me:$LINENO: result: C++ compiler is Borland C++" >&5 echo "${ECHO_T}C++ compiler is Borland C++" >&6 GXX_VERSION=borland_bcc - else + GXX_VERSION_DETAILED=$GXX_VERSION + else is_kai_cc="`($CXX --version 2>&1) | grep 'KAI C++'`" is_kai_cc="$is_kai_cc`($CXX -v 2>&1) | grep /KCC/`" @@ -2795,12 +2839,13 @@ echo "${ECHO_T}C++ compiler is Borland C++" >&6 echo "$as_me:$LINENO: result: C++ compiler is KAI C++" >&5 echo "${ECHO_T}C++ compiler is KAI C++" >&6 GXX_VERSION=kai_cc - else + GXX_VERSION_DETAILED=$GXX_VERSION + else - { { echo "$as_me:$LINENO: error: Unrecognized compiler -- sorry" >&5 -echo "$as_me: error: Unrecognized compiler -- sorry" >&2;} - { (exit 1); exit 1; }; } - exit 1 + echo "$as_me:$LINENO: result: Unrecognized C++ compiler -- Try to go ahead and get help from dealii@dealii.org" >&5 +echo "${ECHO_T}Unrecognized C++ compiler -- Try to go ahead and get help from dealii@dealii.org" >&6 + GXX_VERSION=unknown_cc + GXX_VERSION_DETAILED=$GXX_VERSION fi fi fi @@ -2834,6 +2879,11 @@ echo "$as_me: error: Unrecognized compiler -- sorry" >&2;} LDFLAGS="$LDFLAGS -lpthread" ;; + *cygwin* ) + CXXFLAGSPIC= + LDFLAGSPIC= + ;; + *) CXXFLAGSPIC="-fPIC" LDFLAGSPIC="-fPIC" @@ -2862,8 +2912,8 @@ echo "$as_me: error: Unrecognized compiler -- sorry" >&2;} case "$GXX_VERSION" in egcs1.1 | gcc2.95) - CXXFLAGSG="$CXXFLAGSG -Wmissing-declarations -Wbad-function-cast -Wtraditional -Wnested-externs" - CXXFLAGSO="$CXXFLAGSO -fnonnull-objects" + CXXFLAGSG="$CXXFLAGSG -Wmissing-declarations -Wbad-function-cast -Wtraditional -Wnested-externs -Wno-non-template-friend" + CXXFLAGSO="$CXXFLAGSO -fnonnull-objects -Wno-non-template-friend" ;; *) @@ -3075,8 +3125,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext if test "x$GXX_VERSION" = "xintel_icc7"; then CXXFLAGSG="$CXXFLAGSG -Xc -ansi" CXXFLAGSO="$CXXFLAGSO -ansi_alias" - else if test "x$GXX_VERSION" = "xintel_icc8" ; then - CXXFLAGSG="$CXXFLAGSG -strict_ansi" + else if test "x$GXX_VERSION" = "xintel_icc8" ; then CXXFLAGSO="$CXXFLAGSO -ansi_alias -vec_report0" fi fi @@ -3158,11 +3207,10 @@ echo "$as_me: error: Attention! deal.II is not known to work with Borland C++! ;; *) - { { echo "$as_me:$LINENO: error: No compiler options for this C++ compiler - specified at present" >&5 -echo "$as_me: error: No compiler options for this C++ compiler - specified at present" >&2;} - { (exit 1); exit 1; }; } + CXXFLAGSG="$CXXFLAGS -DDEBUG" + CXXFLAGSO="$CXXFLAGS -O2" + echo "$as_me:$LINENO: result: Unknown C++ compiler - using generic options" >&5 +echo "${ECHO_T}Unknown C++ compiler - using generic options" >&6 ;; esac fi @@ -3300,6 +3348,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext + if test "$GCC" = "yes" ; then CC_VERSION_STRING=`($CC -v 2>&1) | grep "gcc version"` if test "x$CC_VERSION_STRING" = "x" ; then @@ -3435,24 +3484,24 @@ echo "${ECHO_T}C compiler is unknown version but accepted MIPSpro compiler versi version7="`echo $is_intel_icc | grep 'Version 7'`" version8="`echo $is_intel_icc | grep 'Version 8'`" if test "x$version5" != "x" ; then - echo "$as_me:$LINENO: result: C compiler is Intel ICC 5" >&5 -echo "${ECHO_T}C compiler is Intel ICC 5" >&6 + echo "$as_me:$LINENO: result: C compiler is icc-5" >&5 +echo "${ECHO_T}C compiler is icc-5" >&6 CC_VERSION=intel_icc5 else if test "x$version6" != "x" ; then - echo "$as_me:$LINENO: result: C compiler is Intel ICC 6" >&5 -echo "${ECHO_T}C compiler is Intel ICC 6" >&6 + echo "$as_me:$LINENO: result: C compiler is icc-6" >&5 +echo "${ECHO_T}C compiler is icc-6" >&6 CC_VERSION=intel_icc6 else if test "x$version7" != "x" ; then - echo "$as_me:$LINENO: result: C compiler is Intel ICC 7" >&5 -echo "${ECHO_T}C compiler is Intel ICC 7" >&6 + echo "$as_me:$LINENO: result: C compiler is icc-7" >&5 +echo "${ECHO_T}C compiler is icc-7" >&6 CC_VERSION=intel_icc7 else if test "x$version8" != "x" ; then - echo "$as_me:$LINENO: result: C compiler is Intel ICC 8" >&5 -echo "${ECHO_T}C compiler is Intel ICC 8" >&6 + echo "$as_me:$LINENO: result: C compiler is icc-8" >&5 +echo "${ECHO_T}C compiler is icc-8" >&6 CC_VERSION=intel_icc8 else - echo "$as_me:$LINENO: result: C compiler is Intel ICC" >&5 -echo "${ECHO_T}C compiler is Intel ICC" >&6 + echo "$as_me:$LINENO: result: C compiler is icc" >&5 +echo "${ECHO_T}C compiler is icc" >&6 CC_VERSION=intel_icc fi fi fi fi else @@ -3507,10 +3556,9 @@ echo "${ECHO_T}C compiler is KAI C" >&6 CC_VERSION=kai_cc else - { { echo "$as_me:$LINENO: error: Unrecognized compiler -- sorry" >&5 -echo "$as_me: error: Unrecognized compiler -- sorry" >&2;} - { (exit 1); exit 1; }; } - exit 1 + echo "$as_me:$LINENO: result: Unrecognized compiler -- still trying" >&5 +echo "${ECHO_T}Unrecognized compiler -- still trying" >&6 + CC_VERSION=unknown_cc fi fi fi @@ -3535,6 +3583,10 @@ echo "$as_me: error: Unrecognized compiler -- sorry" >&2;} CFLAGSPIC="-fPIC" ;; + *cygwin*) + CFLAGSPIC= + ;; + *) CFLAGSPIC="-fPIC" ;; @@ -3572,11 +3624,9 @@ echo "$as_me: error: Unrecognized compiler -- sorry" >&2;} ;; *) - { { echo "$as_me:$LINENO: error: No compiler options for this C compiler - specified at present" >&5 -echo "$as_me: error: No compiler options for this C compiler - specified at present" >&2;} - { (exit 1); exit 1; }; } + echo "$as_me:$LINENO: result: Unknown C compiler - using generic options" >&5 +echo "${ECHO_T}Unknown C compiler - using generic options" >&6 + CFLAGS="$CFLAGS -O2" ;; esac fi @@ -3590,6 +3640,7 @@ echo "$as_me: error: No compiler options for this C compiler + # Check whether --enable-multithreading or --disable-multithreading was given. if test "${enable_multithreading+set}" = set; then enableval="$enable_multithreading" @@ -7161,6 +7212,77 @@ fi done + echo "$as_me:$LINENO: checking for bad socket functions/FPU interaction" >&5 +echo $ECHO_N "checking for bad socket functions/FPU interaction... $ECHO_C" >&6 + ac_ext=cc +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 + + CXXFLAGS="$CXXFLAGSG" + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5 +echo "$as_me: error: cannot run test program while cross compiling" >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +#include +#include +#include + +int main() +{ + char buf[100]; + gethostname(buf,99); + + volatile long double x=1.0; + x += std::numeric_limits::epsilon(); + + if (x == 1.0) + return 1; // this shouldn't happen... + else + return 0; +} + +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +( exit $ac_status ) + + echo "$as_me:$LINENO: result: yes. disabling socket functions" >&5 +echo "${ECHO_T}yes. disabling socket functions" >&6 + +cat >>confdefs.h <<\_ACEOF +#define DEAL_II_BROKEN_SOCKETS 1 +_ACEOF + + +fi +rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + @@ -7353,7 +7475,15 @@ echo "${ECHO_T}F77 compiler is unkown. no flags set!" >&6 F77FLAGSO="$F77FLAGSO -funroll-loops -funroll-all-loops -fstrict-aliasing" fi - F77FLAGSPIC="-fPIC" + case "$target" in + *cygwin* ) + F77FLAGSPIC= + ;; + * ) + F77FLAGSPIC="-fPIC" + ;; + esac + F77LIBS="$F77LIBS -lg2c" ;; @@ -7448,9 +7578,18 @@ esac case "$target" in *cygwin ) shared_lib_suffix=".dll" + cygwin_shared_lib="yes" ;; esac +if test "x$enableshared" = "xyes" ; then + CFLAGS="$CFLAGS $CFLAGSPIC" + CXXFLAGSG="$CXXFLAGSG $CXXFLAGSPIC" + CXXFLAGSO="$CXXFLAGSO $CXXFLAGSPIC" + F77FLAGSG="$F77FLAGSG $F77FLAGSPIC" + F77FLAGSO="$F77FLAGSO $F77FLAGSPIC" +fi + @@ -7655,6 +7794,27 @@ fi +# Check whether --enable-parser or --disable-parser was given. +if test "${enable_parser+set}" = set; then + enableval="$enable_parser" + enableparser=$enableval + echo "$as_me:$LINENO: result: Function parser disabled" >&5 +echo "${ECHO_T}Function parser disabled" >&6 + if test "x$enableval" = "xno" ; then + +cat >>confdefs.h <<\_ACEOF +#define DEAL_II_DISABLE_PARSER 1 +_ACEOF + + fi +else + enableparser=yes +fi; + + + + + # Check whether --enable-compat-blocker or --disable-compat-blocker was given. if test "${enable_compat_blocker+set}" = set; then @@ -7773,10 +7933,6 @@ cat >>confdefs.h <<\_ACEOF _ACEOF DEAL_II_DEFINE_DEAL_II_USE_PETSC=DEAL_II_USE_PETSC - - if test "x$enableshared" = "xno" ; then - LDFLAGS="$LDFLAGS -lblas" - fi fi @@ -7897,6 +8053,7 @@ fi if test "x$with-petsc" != "x" ; then if "x$enableshared" != "no" ; then + abort with_blas="yes" fi fi @@ -8199,6 +8356,12 @@ cat >>confdefs.h <<\_ACEOF #define DEAL_II_USE_METIS 1 _ACEOF + + echo "$as_me:$LINENO: checking for Metis version" >&5 +echo $ECHO_N "checking for Metis version... $ECHO_C" >&6 + DEAL_II_METIS_VERSION=`cat $DEAL_II_METIS_DIR/VERSION` + echo "$as_me:$LINENO: result: $DEAL_II_METIS_VERSION" >&5 +echo "${ECHO_T}$DEAL_II_METIS_VERSION" >&6 fi @@ -8210,7 +8373,7 @@ if test "${with_umfpack+set}" = set; then withval="$with_umfpack" if test "x$withval" != "xyes" ; then - LDFLAGS="-L$withval/UMFPACK/Lib -L$withval/AMD/Lib" + LDFLAGS="-L$withval/UMFPACK/Lib -L$withval/AMD/Lib $LDFLAGS" echo "$as_me:$LINENO: checking for amd_info in -lamd" >&5 echo $ECHO_N "checking for amd_info in -lamd... $ECHO_C" >&6 @@ -8355,6 +8518,8 @@ echo "$as_me: error: UMFPack installation faulty" >&2;} { (exit 1); exit 1; }; } fi + echo -n "UMFPack version: " + grep "UMFPACK v" $withval/README else echo "$as_me:$LINENO: checking UmfPack library" >&5 echo $ECHO_N "checking UmfPack library... $ECHO_C" >&6 @@ -8543,7 +8708,17 @@ echo "${ECHO_T}PowerPC64" >&6 ;; esac ;; + athlon* | pentium* | i386 | i486 | i586 | i686 | k6* | winchip*) + echo "$as_me:$LINENO: result: x86 derivate ($withcpu)" >&5 +echo "${ECHO_T}x86 derivate ($withcpu)" >&6 + case "$GXX_VERSION" in + gcc*) + CXXFLAGSO="$CXXFLAGSO -march=$withcpu" + F77FLAGSO="$F77FLAGSO -march=$withcpu" + ;; + esac + ;; *) echo "$as_me:$LINENO: result: none given or not recognized" >&5 echo "${ECHO_T}none given or not recognized" >&6 @@ -8658,7 +8833,6 @@ echo "${ECHO_T}---------------- configuring other programs -----------------" >& - # Check whether --with-doxygen or --without-doxygen was given. if test "${with_doxygen+set}" = set; then withval="$with_doxygen" @@ -9408,11 +9582,13 @@ s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@GXX_VERSION@,$GXX_VERSION,;t t +s,@GXX_VERSION_DETAILED@,$GXX_VERSION_DETAILED,;t t s,@CXXFLAGSG@,$CXXFLAGSG,;t t s,@CXXFLAGSO@,$CXXFLAGSO,;t t s,@CXXFLAGSPIC@,$CXXFLAGSPIC,;t t s,@SHLIBLD@,$SHLIBLD,;t t s,@CC_VERSION@,$CC_VERSION,;t t +s,@CFLAGSPIC@,$CFLAGSPIC,;t t s,@enablemultithreading@,$enablemultithreading,;t t s,@withmultithreading@,$withmultithreading,;t t s,@F77@,$F77,;t t @@ -9427,6 +9603,8 @@ s,@shared_lib_suffix@,$shared_lib_suffix,;t t s,@AR@,$AR,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@enableparser@,$enableparser,;t t +s,@DEAL_II_DISABLE_PARSER@,$DEAL_II_DISABLE_PARSER,;t t s,@USE_CONTRIB_PETSC@,$USE_CONTRIB_PETSC,;t t s,@DEAL_II_PETSC_DIR@,$DEAL_II_PETSC_DIR,;t t s,@DEAL_II_PETSC_ARCH@,$DEAL_II_PETSC_ARCH,;t t @@ -10058,6 +10236,14 @@ echo echo ------------------------------------------------------------- echo +if test "x$cygwin_shared_lib" = "xyes" ; then + echo " Please add the line" + echo " export PATH=\$PATH:$DEAL2_DIR/lib" + echo " to your .bash_profile file so that windows will be" + echo " able to find the deal.II shared libraries when" + echo " executing your programs." +fi + if test "x$doxygen_not_found" = "xyes" ; then echo " WARNING: During configuration, no version of the doxygen" echo " WARNING: documentation generation program could be found." @@ -10067,3 +10253,20 @@ if test "x$doxygen_not_found" = "xyes" ; then echo " WARNING: however." echo fi + +if test "x$CC_VERSION" = "xunknown_cc" ; then + echo ---------------------------------------------------------------------- + echo " WARNING: The C compiler used for configuration is unknown!" + echo " WARNING: configure has used a generic set of parameters." + echo " WARNING: Still, you have to expect trouble during compilation." + echo " WARNING: If so, report to dealii@dealii.org!" +fi + +if test "x$GXX_VERSION" = "xunknown_cc" ; then + echo ---------------------------------------------------------------------- + echo " WARNING: The C++ compiler used for configuration is unknown!" + echo " WARNING: configure has used a generic set of parameters." + echo " WARNING: Still, you have to expect trouble during compilation." + echo " WARNING: If so, report to dealii@dealii.org!" +fi + diff --git a/deal.II/configure.in b/deal.II/configure.in index 9af80310b6..c3849bd5da 100644 --- a/deal.II/configure.in +++ b/deal.II/configure.in @@ -359,7 +359,22 @@ dnl ------------------------------------------------------------- AC_MSG_RESULT() AC_MSG_RESULT(---------------- configuring additional libs ----------------) -dnl Make sure we configure for libraries used by other libraries + +dnl First check for PETSc + +DEAL_II_CONFIGURE_PETSC +AC_SUBST(USE_CONTRIB_PETSC) +AC_SUBST(DEAL_II_PETSC_DIR) +AC_SUBST(DEAL_II_PETSC_ARCH) +AC_SUBST(DEAL_II_PETSC_VERSION_MAJOR) +AC_SUBST(DEAL_II_PETSC_VERSION_MINOR) +AC_SUBST(DEAL_II_PETSC_VERSION_SUBMINOR) +AC_SUBST(DEAL_II_DEFINE_DEAL_II_USE_PETSC) + + + +dnl Make sure we configure for libraries used by other libraries. For +dnl example, UMFPACK needs blas, and so does LAPACK if test "x$with_umfpack" != "x" ; then if test "x$with_blas" = "x" ; then @@ -373,6 +388,18 @@ if test "x$with_lapack" != "x" ; then fi fi + +dnl Likewise, if we use PETSc and link statically, we have to add blas to the +dnl linker line (if we use shared libs, then the PETSc libs already carry this +dnl dependence, but static archives do not have a method to list dependencies) +if test "x$with-petsc" != "x" ; then + if "x$enableshared" != "no" ; then + abort + with_blas="yes" + fi +fi + + dnl ------------------------------------------------------------- dnl Actually include libraries here. Check for the libraries dnl requiring FORTRAN support first. @@ -406,15 +433,6 @@ dnl ------------------------------------------------------------- DEAL_II_CONFIGURE_TECPLOT AC_SUBST(TECPLOT_INCLUDE_DIR) -DEAL_II_CONFIGURE_PETSC -AC_SUBST(USE_CONTRIB_PETSC) -AC_SUBST(DEAL_II_PETSC_DIR) -AC_SUBST(DEAL_II_PETSC_ARCH) -AC_SUBST(DEAL_II_PETSC_VERSION_MAJOR) -AC_SUBST(DEAL_II_PETSC_VERSION_MINOR) -AC_SUBST(DEAL_II_PETSC_VERSION_SUBMINOR) -AC_SUBST(DEAL_II_DEFINE_DEAL_II_USE_PETSC) - DEAL_II_CONFIGURE_METIS AC_SUBST(USE_CONTRIB_METIS) AC_SUBST(DEAL_II_METIS_DIR) -- 2.39.5