[CMake] Fortran dependency fixes

Myers, Gary myersgt at bettis.gov
Tue Sep 23 11:24:49 EDT 2008


Maik,

My work is performed on an isolated network.  I will attempt to get a
test sample over, but it will take a little time.

I will also attempt to look up the infinite-loop (bug) reference to
makedepf90.

Regards,

-Gary  

-----Original Message-----
From: cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] On Behalf
Of Maik Beckmann
Sent: Tuesday, September 23, 2008 11:09 AM
To: cmake at cmake.org; Erik Edelmann
Subject: Re: [CMake] Fortran dependency fixes

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

_______________________________________________
CMake mailing list
CMake at cmake.org
http://www.cmake.org/mailman/listinfo/cmake


More information about the CMake mailing list