[petsc-dev] get moving on gnu make version of PETSc compiler

Satish Balay balay at mcs.anl.gov
Tue Sep 17 23:43:52 CDT 2013


On Tue, 17 Sep 2013, Jed Brown wrote:

> Satish Balay <balay at mcs.anl.gov> writes:
> > balay at petsc^/sandbox/balay/petsc.clone((4920dd4...)) $ git diff
> > diff --git a/config/BuildSystem/config/packages/MPI.py b/config/BuildSystem/config/packages/MPI.py
> > index a0232eb..14e976f 100644
> > --- a/config/BuildSystem/config/packages/MPI.py
> > +++ b/config/BuildSystem/config/packages/MPI.py
> > @@ -289,6 +289,7 @@ class Configure(config.package.Package):
> >    def alternateConfigureLibrary(self):
> >      '''Setup MPIUNI, our uniprocessor version of MPI'''
> >      self.addDefine('HAVE_MPIUNI', 1)
> > +    self.addMakeMacro('PETSC_USING_MPIUNI', 1)
> 
> I used MPI_IS_MPIUNI because BuildSystem should not depend on PETSc.
> 
> >      #
> >      #  Even though MPI-Uni is not an external package (it is in PETSc source) we need to stick the
> >      #  include path for its mpi.h and mpif.h so that external packages that are built with PETSc to
> > diff --git a/gmakefile b/gmakefile
> > index bd3ef2e..50187e6 100644
> > --- a/gmakefile
> > +++ b/gmakefile
> > @@ -134,6 +134,17 @@ $(OBJDIR)/%.o : %.cu | $$(@D)/.DIR
> >         $(PETSC_COMPILE.cu) $< -o $@ # Compile first so that if there is an error, it comes from a normal compile
> >         @$(PETSC_GENDEPS.cu) $< -o $(@:%.o=%.d) # Generate the dependencies for later
> >  
> > +ifeq ($(PETSC_USING_MPIUNI),1)
> > +$(OBJDIR)/src/sys/f90-mod/petscsysmod.o:$(OBJDIR)/src/sys/mpiuni/f90-mod/mpiunimod.o
> > +MPIUNI_MOD = $(PETSC_ARCH)/include/mpi.mod
> > +endif
> > +$(OBJDIR)/src/vec/f90-mod/petscvecmod.o:$(OBJDIR)/src/sys/f90-mod/petscsysmod.o
> > +$(OBJDIR)/src/mat/f90-mod/petscmatmod.o:$(OBJDIR)/src/vec/f90-mod/petscvecmod.o
> > +$(OBJDIR)/src/dm/f90-mod/petscdmmod.o:$(OBJDIR)/src/mat/f90-mod/petscmatmod.o
> > +$(OBJDIR)/src/ksp/f90-mod/petsckspmod.o:$(OBJDIR)/src/dm/f90-mod/petscdmmod.o
> > +$(OBJDIR)/src/snes/f90-mod/petscsnesmod.o:$(OBJDIR)/src/ksp/f90-mod/petsckspmod.o
> > +$(OBJDIR)/src/ts/f90-mod/petsctsmod.o:$(OBJDIR)/src/snes/f90-mod/petscsnesmod.o
> 
> I've added a slightly-modified version of this and merged to 'next'.
> Will merge to 'master' if there are no problems.



 clean:
-       rm -rf $(OBJDIR) $(LIBDIR)/libpetsc* $(PETSC_ARCH)/include/petsc*.mod $(generated)
+       rm -rf $(OBJDIR) $(LIBDIR)/libpetsc* $(PETSC_ARCH)/include/petsc*.mod $(MPIUNI_MOD) $(generated)

I see this one got left out..

Satish



More information about the petsc-dev mailing list