* Re: Multiple compilation-units (was: Re: GWU/ADA Interface) [not found] ` <347r7s$8nk@gnat.cs.nyu.edu> @ 1994-09-07 16:28 ` John M. Mills 1994-09-09 1:46 ` Robert Dewar 1994-09-10 12:46 ` Jonathan AH Hogg 0 siblings, 2 replies; 4+ messages in thread From: John M. Mills @ 1994-09-07 16:28 UTC (permalink / raw) In article <347r7s$8nk@gnat.cs.nyu.edu>, Robert Dewar <dewar@cs.nyu.edu> wrote: [..] >Any suggestions for simple features for utilities like this are certainly >welcome (as is the contribution of useful utilities :-) Well, I haven't got as far as suggestions, and these comments may belabor the obvious, but in case they stimulate some ideas ... I expect that some of the recent thread on GNATCHOP arises from the fundamentally different ways that Ada libraries and UNIX 'make' determine library currency. To establish required compilations, I understand that the Ada library manager (or equivalent) checks compilation timestamps on specs, whereas 'make' assumes that the determinant is the source-file's "touch" stamp. There is a basic conceptual split here, and GNAT seems to be standing on the crack. Naturally if you need to determine library currency from package names, and don't know the names of packages from the names of the source files, you need to do some processing to decide what's current. Since differently named Ada sources commonly provide specialized versions of a particular package, identifying content (i.e., package name) with source name breaks many programmers' approach to source organization. Stepping back towards UNIX a bit ('make' is not only usable for 'C' code libraries), I see some alternative attempts, not wholly successful. I have used 'imake' and 'make depend' a bit, and find them hairy for a novice. It's not for nothing that DuBois' [excellent] book on 'imake' has a Boa or Python on the cover! _But_ my main complaint with imake is really with the broken 'X' directory structures inherited with OpenLook and OSF/Motif. Basically, 'imake's objectives of improved portability, dependency generation, and automatic 'lint' invocation are worthwhile. Could a 'make depend'-like function be built which works with GNAT libraries? Maybe this effectively exists, but I didn't get that impression from the thread. Could a set of 'imake' templates and rules be built to manage GNAT builds? Any comments? Regards --john-- -- John M. Mills, SRE -- john.m.mills@gtri.gatech.edu -- (404)528-3258 (voice) Georgia Tech/ GTRI/ SDL, 7220 Richardson Rd., Smyrna, GA 30080 "Well, I'm an Assistant Regurgitation Engineer -- but I should make Senior R.E. next year" _The_Far_Side_, G. Larson ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Multiple compilation-units (was: Re: GWU/ADA Interface) 1994-09-07 16:28 ` Multiple compilation-units (was: Re: GWU/ADA Interface) John M. Mills @ 1994-09-09 1:46 ` Robert Dewar 1994-09-10 12:46 ` Jonathan AH Hogg 1 sibling, 0 replies; 4+ messages in thread From: Robert Dewar @ 1994-09-09 1:46 UTC (permalink / raw) John, you have a misconception, the time of compilation plays no role whatsoever in the GNAT system. The time stamps are the time stamps of the sources. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Multiple compilation-units (was: Re: GWU/ADA Interface) 1994-09-07 16:28 ` Multiple compilation-units (was: Re: GWU/ADA Interface) John M. Mills 1994-09-09 1:46 ` Robert Dewar @ 1994-09-10 12:46 ` Jonathan AH Hogg 1994-09-10 15:22 ` Robert Dewar 1 sibling, 1 reply; 4+ messages in thread From: Jonathan AH Hogg @ 1994-09-10 12:46 UTC (permalink / raw) On 7 Sep 1994, John M. Mills wrote: > Could a 'make depend'-like function be built which works with GNAT libraries? > Maybe this effectively exists, but I didn't get that impression from the > thread. Could a set of 'imake' templates and rules be built to manage GNAT > builds? > > Any comments? i have written a zsh script to generate a list of dependancies for a gnat closure when pointed at the base unit. it is not too difficult to do as gnat will provide a list of dependancies for a unit on demand with the 'u' option. parsing this output (here's where it gets hairy) allows you to build the dependancies. i can make this available to anyone who is interested (though you'll have to port it if you don't have zsh). imake is still way beyond me though. i guess i'll have to read the book sometime. jonathan -- Jonathan AH Hogg, Computing Science Department, The University, Glasgow G12 8QQ jonathan@dcs.gla.ac.uk | http://www.dcs.gla.ac.uk/~jonathan | (+44|0)41 3304454 MIME, Mailtool, Eudora, MS-Mail, and POP-Mail attachments welcome | MY opinions ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Multiple compilation-units (was: Re: GWU/ADA Interface) 1994-09-10 12:46 ` Jonathan AH Hogg @ 1994-09-10 15:22 ` Robert Dewar 0 siblings, 0 replies; 4+ messages in thread From: Robert Dewar @ 1994-09-10 15:22 UTC (permalink / raw) Jonothan mentions that he has built a utility which uses the unit listing from GNAT to generate dependencies. Much better is using the ALI files. The D lines in the ALI files are EXACTLY the list of source file dependencies. That's how we generate dependencies. Much better than either approach is an Ada make utility that calculates the dependencies dynamically as it goes along. We are working on such a utility and hope to have it available soon. Jonathan, I think you would find it *much* easier to parse the ALI files! Robert ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~1994-09-10 15:22 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <1994Sep1.122026.17797@sei.cmu.edu> [not found] ` <347b20$jf9@theopolis.orl.mmc.com> [not found] ` <347r7s$8nk@gnat.cs.nyu.edu> 1994-09-07 16:28 ` Multiple compilation-units (was: Re: GWU/ADA Interface) John M. Mills 1994-09-09 1:46 ` Robert Dewar 1994-09-10 12:46 ` Jonathan AH Hogg 1994-09-10 15:22 ` Robert Dewar
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox