sommar@enea.se (Erland Sommarskog) (01/15/89)
When you build your system, or part of it, you have a good help of a tool like MMS or some other "make" clone. However, MMS, requires that you know all your dependencies. Since they may change during development maintaining the MMS files becomes an important task that is boring and error prone. At the place I'm currently located we have a tool to automatically generate MMS files. Unfortunately, it doesn't work very well, since the analysis is made on the list file, thus the tool must compile to find out the dependencies. This is a fatal mistake, since some of the files required for the compilation is maybe out of date or non-existent, causing the compilation to fail. What I have been thinking of is to first get dependency information which concerns compilation from the source file and then iterating back, until I don't depend on anything, compile in the correct order, gather all external references(*) from the list file (or the object file) until all is compiled and I can construct the link dependencies for my executable(s). The external references must have been put in a database of some sort, so I can check that the corresponding modules are up to date. (*) External reference: A variable/procedure/function that is not defined in the referencing module or any of the modules it imports from. E.g. a routine in another langauge. I have two questions, one of just general curiousity and one to possibly save some work. 1) Have such tools been built? And for what langauges and OS:s? I know of something similar for C/Unix but that is a fairly trivial case, since C only have an include facility. All Ada system must have something of the like. 2) Is there anything we could use? We have the combination VMS, VAX-Pascal, Cobol, CDD, RDB and CMS. Any ideas to avoid work that already has been done are appreciated. -- Erland Sommarskog ENEA Data, Stockholm This signature is not to be quoted. sommar@enea.se