[CMake] Fortran dependency fixes

Maik Beckmann beckmann.maik at googlemail.com
Tue Sep 23 11:09:20 EDT 2008


Am Dienstag, 23. September 2008 schrieb Myers, Gary:
> I have been using the Fortran dependency generator named makedepf90
> (Erik Edelmann - 2.8.8) for years now.  Recently, we have encountered a
> bug in this application (infinite loop within the parser).  I noticed
> that Fortran dependencies are generated in cmake with the use of an
> adaptation of makedepf90. Furthermore, I noticed that there seems to be
> a patch in cmake indicating that the infinite loop problem has been
> fixed.
>
> My problem is that there are significant differences between the
> adaptation of makedepf90 in cmake from the original open source
> (makedepf90 version 2.8.8) for me to back out the fix.  One solution
> would be to just move over to the use of cmake, but this will not happen
> within our established processes.  Is there a Fortran dependencies guru
> who can explain the recent changes to the makedepf90 (lex/yacc) which
> enhanced the support of the Fortran dependencies in cmake?
>
> -Gary

Hello Gary,

AFAIK Brad King (cmake core developer) ported once upon a time the 
makedepf90-2.6.2 parser (lex&yacc) to cmake.

I've updated this port to makedef90-2.8.8.  

If cmake's fortran lex/yacc files contain fixes for makedepf90 I'm willing to 
port them back. Can you post a minimal example which triggers the infinite 
loop you mentioned?


Best,
 -- Maik

PS 1: As you mentioned the code in cmake is very different from makedepf90's.  
All code doing real work is refactored out of the lex and yacc file.  This 
design (introduced by Brad), avoids the need for regenerating to the h/cxx 
files as much as possible.  This is important, since not all platforms have 
lex and yacc and the generated sources have to be altered in order to work 
with all supported compilers.

PS 2: CC to Erik



More information about the CMake mailing list