From 1569c842ea2008ba5b07613cc4d8f18ab49b8478 Mon Sep 17 00:00:00 2001 From: Lawrence Mitchell Date: Tue, 7 Jun 2016 16:11:16 +0100 Subject: [PATCH] PetscSF: define guard for MPI_COMBINER_NAMED Necessary to avoid build errors with mpiuni. --- config/BuildSystem/config/packages/MPI.py | 3 ++- src/vec/is/sf/interface/sftype.c | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/config/BuildSystem/config/packages/MPI.py b/config/BuildSystem/config/packages/MPI.py index 1cbd737..107c22d 100644 --- a/config/BuildSystem/config/packages/MPI.py +++ b/config/BuildSystem/config/packages/MPI.py @@ -512,7 +512,8 @@ class Configure(config.package.Package): oldFlags = self.compilers.CPPFLAGS # Disgusting save and restore self.compilers.CPPFLAGS += ' '+self.headers.toString(self.include) - for combiner in ['MPI_COMBINER_DUP', 'MPI_COMBINER_CONTIGUOUS']: + for combiner in ['MPI_COMBINER_DUP', 'MPI_COMBINER_CONTIGUOUS', + 'MPI_COMBINER_NAMED']: if self.checkCompile('#include ', 'int combiner = %s;' % (combiner,)): self.addDefine('HAVE_' + combiner,1) self.compilers.CPPFLAGS = oldFlags diff --git a/src/vec/is/sf/interface/sftype.c b/src/vec/is/sf/interface/sftype.c index 5391edf..7cdc76a 100644 --- a/src/vec/is/sf/interface/sftype.c +++ b/src/vec/is/sf/interface/sftype.c @@ -7,6 +7,9 @@ #if !defined(PETSC_HAVE_MPI_COMBINER_DUP) /* We have no way to interpret output of MPI_Type_get_envelope without this. */ # define MPI_COMBINER_DUP 0 #endif +#if !defined(PETSC_HAVE_MPI_COMBINER_NAMED) +#define MPI_COMBINER_NAMED -2 +#endif #if !defined(PETSC_HAVE_MPI_COMBINER_CONTIGUOUS) && MPI_VERSION < 2 # define MPI_COMBINER_CONTIGUOUS -1 #endif -- 2.8.2