self.executeTest(self.configureConversion) self.executeTest(self.configureMPI2) self.executeTest(self.configureTypes) self.executeTest(self.configureMPITypes) self.executeTest(self.configureMissingPrototypes) self.executeTest(self.SGIMPICheck) self.executeTest(self.CxxMPICheck) self.executeTest(self.FortranMPICheck) self.executeTest(self.configureIO) if self.libraries.check( self.dlib, "MPI_Alltoallw") and self.libraries.check( self.dlib, "MPI_Type_create_indexed_block"): self.addDefine('HAVE_MPI_ALLTOALLW', 1) if self.libraries.check(self.dlib, "MPI_Comm_spawn"): self.addDefine('HAVE_MPI_COMM_SPAWN', 1) if self.libraries.check(self.dlib, "MPI_Win_create"): self.addDefine('HAVE_MPI_WIN_CREATE', 1) if self.libraries.check(self.dlib, "MPI_Finalized"): self.addDefine('HAVE_MPI_FINALIZED', 1) if __name__ == '__main__': import config.framework import sys framework = config.framework.Framework(sys.argv[1:]) framework.setupLogging(framework.clArgs) framework.children.append(Configure(framework)) framework.configure() framework.dumpSubstitutions()
self.addDefine('HAVE_MPI_ALLTOALLW',1) if self.libraries.check(self.dlib, "MPI_Win_create"): self.addDefine('HAVE_MPI_WIN_CREATE',1) self.addDefine('HAVE_MPI_REPLACE',1) # MPI_REPLACE is strictly for use with the one-sided function MPI_Accumulate funcs = '''MPI_Comm_spawn MPI_Type_get_envelope MPI_Type_get_extent MPI_Type_dup MPI_Init_thread MPIX_Iallreduce MPI_Iallreduce MPI_Ibarrier MPI_Finalized MPI_Exscan'''.split() for f in funcs: if self.libraries.check(self.dlib, f): self.addDefine('HAVE_' + f.upper(),1) oldFlags = self.compilers.CPPFLAGS # Disgusting save and restore self.compilers.CPPFLAGS += ' '+self.headers.toString(self.include) if self.checkCompile('#include <mpi.h>', 'int combiner = MPI_COMBINER_DUP;'): self.addDefine('HAVE_MPI_COMBINER_DUP',1) self.compilers.CPPFLAGS = oldFlags if self.libraries.check(self.dlib, "MPIDI_CH3I_sock_set"): self.addDefine('HAVE_MPICH_CH3_SOCK', 1) if self.libraries.check(self.dlib, "MPIDI_CH3I_sock_fixed_nbc_progress"): # Indicates that this bug was fixed: http://trac.mpich.org/projects/mpich/ticket/1785 self.addDefine('HAVE_MPICH_CH3_SOCK_FIXED_NBC_PROGRESS', 1) if __name__ == '__main__': import config.framework import sys framework = config.framework.Framework(sys.argv[1:]) framework.setupLogging(framework.clArgs) framework.children.append(Configure(framework)) framework.configure() framework.dumpSubstitutions()