[petsc-dev] Could generatefortranstubs.py be lazier about modification times?
Satish Balay
balay at mcs.anl.gov
Mon Oct 4 18:09:50 CDT 2010
On Tue, 5 Oct 2010, Jed Brown wrote:
> On Mon, Oct 4, 2010 at 23:26, Satish Balay <balay at mcs.anl.gov> wrote:
> > Hmm - if there is a file 'xxx.c' - then bfort generates ftn-auto/xxxf.c
>
> It looks like generation of include/finclude/ftn-auto/*.h90 is much
> less direct. The dependencies below also produce unused *.h90 files.
> What is bfort using to produce these f90module.f90 files? Do you
> think it's feasible to get a list of files that each *.h90 depends on?
Each time bfort is invoked there is:
- one to one mapping between xxx.c -> xxxf.c
- a additive mapping from all 'xxx.c' to corresponding 'f90module.f90' -> [via MANSEC in makefile to] petscprofiling.h90 etc.
- Since MANSEC of multiple sourcedirs can have the same value [for eg: 'MANSEC=KSP'], multiple
sourcedirs contribute to a single petscksp.h90 file.
So - I guess one way to do this is:
Each time things are added to petscprofiling.h90 [or equivalent] - a
mapping of the sourcefiles has to be maintained for that generated
file [petscprofiling.h90 etc].
This mapping for a given dir - is 'all sources corresponding to all
ftn-auto/xxxf.c files'
Satish
> If not, I guess I'll just live with the few seconds to recompile
> these and relink even though nothing changed.
>
> Jed
>
> src/sys/plog/f90module.f90 -> include/finclude/ftn-auto/petscprofiling.h90
> src/sys/verbose/f90module.f90 -> include/finclude/ftn-auto/petscprofiling.h90
> src/mat/order/f90module.f90 -> include/finclude/ftn-auto/petscmatorderings.h90
> src/mat/matfd/f90module.f90 -> include/finclude/ftn-auto/petscmatfd.h90
> src/mat/partition/f90module.f90 ->
> include/finclude/ftn-auto/petscmatorderings.h90
> src/mat/partition/impls/party/f90module.f90 ->
> include/finclude/ftn-auto/petscmatorderings.h90
> src/mat/partition/impls/chaco/f90module.f90 ->
> include/finclude/ftn-auto/petscmatorderings.h90
> src/mat/partition/impls/jostle/f90module.f90 ->
> include/finclude/ftn-auto/petscmatorderings.h90
> src/mat/partition/impls/pmetis/f90module.f90 ->
> include/finclude/ftn-auto/petscmatorderings.h90
> src/mat/partition/impls/scotch/f90module.f90 ->
> include/finclude/ftn-auto/petscmatorderings.h90
> src/characteristic/interface/f90module.f90 ->
> include/finclude/ftn-auto/petscsemilagrange.h90
>
More information about the petsc-dev
mailing list