]> https://gitweb.dealii.org/ - dealii.git/commitdiff
When using PETSc, link with libmpiuni.a if available.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 16 Dec 2005 04:22:11 +0000 (04:22 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 16 Dec 2005 04:22:11 +0000 (04:22 +0000)
git-svn-id: https://svn.dealii.org/trunk@11868 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/aclocal.m4
deal.II/common/Make.global_options.in
deal.II/configure
deal.II/configure.in

index 42800414b1d4aebf171969ae75a23d7b68e181a6..b5675625abe37ef29a39b68d49280745a09f9acc 100644 (file)
@@ -4708,6 +4708,7 @@ AC_DEFUN(DEAL_II_CONFIGURE_PETSC, dnl
   if test "$USE_CONTRIB_PETSC" = "yes" ; then
     DEAL_II_CONFIGURE_PETSC_VERSION
     DEAL_II_CONFIGURE_PETSC_ARCH
+    DEAL_II_CONFIGURE_PETSC_MPIUNI_LIB
 
     dnl Finally set with_petsc if this hasn't happened yet
     if test "x$with_petsc" = "x" ; then
@@ -4815,6 +4816,33 @@ AC_DEFUN(DEAL_II_CONFIGURE_PETSC_VERSION, dnl
 
 
 
+
+dnl ------------------------------------------------------------
+dnl See if there is a library libmpiuni.a/so available. We need
+dnl to link with it on some systems.
+dnl
+dnl Usage: DEAL_II_CONFIGURE_PETSC_MPIUNI_LIB
+dnl
+dnl ------------------------------------------------------------
+AC_DEFUN(DEAL_II_CONFIGURE_PETSC_MPIUNI_LIB, dnl
+[
+  AC_MSG_CHECKING(for PETSc libmpiuni library)
+
+  if test -f $DEAL_II_PETSC_DIR/lib/libg_c++/$DEAL_II_PETSC_ARCH/libmpiuni.a ; then
+    DEAL_II_PETSC_MPIUNI_LIB=$DEAL_II_PETSC_DIR/lib/libg_c++/$DEAL_II_PETSC_ARCH/libmpiuni.a ;
+  else if test -f $DEAL_II_PETSC_DIR/lib/$DEAL_II_PETSC_ARCH/libmpiuni.a ; then
+    DEAL_II_PETSC_MPIUNI_LIB=$DEAL_II_PETSC_DIR/lib/$DEAL_II_PETSC_ARCH/libmpiuni.a ;
+  else if test -f $DEAL_II_PETSC_DIR/lib/libg_c++/$DEAL_II_PETSC_ARCH/libmpiuni.so ; then
+    DEAL_II_PETSC_MPIUNI_LIB=$DEAL_II_PETSC_DIR/lib/libg_c++/$DEAL_II_PETSC_ARCH/libmpiuni.so ;
+  else if test -f $DEAL_II_PETSC_DIR/lib/$DEAL_II_PETSC_ARCH/libmpiuni.so ; then
+    DEAL_II_PETSC_MPIUNI_LIB=$DEAL_II_PETSC_DIR/lib/$DEAL_II_PETSC_ARCH/libmpiuni.so ;
+  fi fi fi fi
+
+  AC_MSG_RESULT($DEAL_II_PETSC_MPIUNI_LIB)
+])
+
+
+
 dnl ------------------------------------------------------------
 dnl Check whether Metis is installed, and if so store the 
 dnl respective links
index bf672e6118c563506f741ed731ac7d0afc9140fd..47892c6fa180c23bdb3d93593fabaaa0211fab24 100644 (file)
@@ -53,6 +53,7 @@ DEAL_II_PETSC_ARCH   = @DEAL_II_PETSC_ARCH@
 DEAL_II_PETSC_VERSION_MAJOR    = @DEAL_II_PETSC_VERSION_MAJOR@
 DEAL_II_PETSC_VERSION_MINOR    = @DEAL_II_PETSC_VERSION_MINOR@
 DEAL_II_PETSC_VERSION_SUBMINOR = @DEAL_II_PETSC_VERSION_SUBMINOR@
+DEAL_II_PETSC_MPIUNI_LIB = @DEAL_II_PETSC_MPIUNI_LIB@
 
 USE_CONTRIB_METIS    = @USE_CONTRIB_METIS@
 DEAL_II_METIS_DIR    = @DEAL_II_METIS_DIR@
@@ -133,6 +134,7 @@ lib-contrib-metis = $(DEAL_II_METIS_DIR)/libmetis.a
 ifeq ($(USE_CONTRIB_PETSC),yes)
   lib-lac.g += $(lib-contrib-petsc.g)
   lib-lac.o += $(lib-contrib-petsc.o)
+  LIBS += $(DEAL_II_PETSC_MPIUNI_LIB)
 endif
 
 
index a7210c739f207da535fbc73d680c3d667a3c00f0..5ef54b72e8221c77efcf110cff7528d6690bb0a3 100755 (executable)
@@ -276,7 +276,7 @@ PACKAGE_BUGREPORT='dealii@dealii.org'
 
 ac_default_prefix=`pwd`
 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_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 SHLIBFLAGS 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 NETCDF_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_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 SHLIBFLAGS 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_PETSC_MPIUNI_LIB DEAL_II_DEFINE_DEAL_II_USE_PETSC NEEDS_F77LIBS HSL_INCLUDE_DIR USE_CONTRIB_HSL TECPLOT_INCLUDE_DIR NETCDF_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.
@@ -9468,6 +9468,23 @@ echo "$as_me: error: Unknown PETSc version" >&2;}
   fi
 
 
+  echo "$as_me:$LINENO: checking for PETSc libmpiuni library" >&5
+echo $ECHO_N "checking for PETSc libmpiuni library... $ECHO_C" >&6
+
+  if test -f $DEAL_II_PETSC_DIR/lib/libg_c++/$DEAL_II_PETSC_ARCH/libmpiuni.a ; then
+    DEAL_II_PETSC_MPIUNI_LIB=$DEAL_II_PETSC_DIR/lib/libg_c++/$DEAL_II_PETSC_ARCH/libmpiuni.a ;
+  else if test -f $DEAL_II_PETSC_DIR/lib/$DEAL_II_PETSC_ARCH/libmpiuni.a ; then
+    DEAL_II_PETSC_MPIUNI_LIB=$DEAL_II_PETSC_DIR/lib/$DEAL_II_PETSC_ARCH/libmpiuni.a ;
+  else if test -f $DEAL_II_PETSC_DIR/lib/libg_c++/$DEAL_II_PETSC_ARCH/libmpiuni.so ; then
+    DEAL_II_PETSC_MPIUNI_LIB=$DEAL_II_PETSC_DIR/lib/libg_c++/$DEAL_II_PETSC_ARCH/libmpiuni.so ;
+  else if test -f $DEAL_II_PETSC_DIR/lib/$DEAL_II_PETSC_ARCH/libmpiuni.so ; then
+    DEAL_II_PETSC_MPIUNI_LIB=$DEAL_II_PETSC_DIR/lib/$DEAL_II_PETSC_ARCH/libmpiuni.so ;
+  fi fi fi fi
+
+  echo "$as_me:$LINENO: result: $DEAL_II_PETSC_MPIUNI_LIB" >&5
+echo "${ECHO_T}$DEAL_II_PETSC_MPIUNI_LIB" >&6
+
+
         if test "x$with_petsc" = "x" ; then
       with_petsc="yes"
     fi
@@ -9484,6 +9501,7 @@ echo "$as_me: error: Unknown PETSc version" >&2;}
 
 
 
+
 if test "x$with_umfpack" != "x" ; then
   if test "x$with_blas" = "x" ; then
     with_blas="yes"
@@ -11313,6 +11331,7 @@ s,@DEAL_II_PETSC_ARCH@,$DEAL_II_PETSC_ARCH,;t t
 s,@DEAL_II_PETSC_VERSION_MAJOR@,$DEAL_II_PETSC_VERSION_MAJOR,;t t
 s,@DEAL_II_PETSC_VERSION_MINOR@,$DEAL_II_PETSC_VERSION_MINOR,;t t
 s,@DEAL_II_PETSC_VERSION_SUBMINOR@,$DEAL_II_PETSC_VERSION_SUBMINOR,;t t
+s,@DEAL_II_PETSC_MPIUNI_LIB@,$DEAL_II_PETSC_MPIUNI_LIB,;t t
 s,@DEAL_II_DEFINE_DEAL_II_USE_PETSC@,$DEAL_II_DEFINE_DEAL_II_USE_PETSC,;t t
 s,@NEEDS_F77LIBS@,$NEEDS_F77LIBS,;t t
 s,@HSL_INCLUDE_DIR@,$HSL_INCLUDE_DIR,;t t
index 7a510ec68db1e64baea171e97f8887a9576a484d..93cde18e4898a6ead0e47501192d8f0ab9bbb8f5 100644 (file)
@@ -398,6 +398,7 @@ 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_PETSC_MPIUNI_LIB)
 AC_SUBST(DEAL_II_DEFINE_DEAL_II_USE_PETSC)
 
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.