[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