comp.lang.ada
 help / color / mirror / Atom feed
From: victor.giddings@ois.com (Victor Giddings)
Subject: Re: Green Hills Ada library question
Date: 1998/09/29
Date: 1998-09-29T00:00:00+00:00	[thread overview]
Message-ID: <victor.giddings-2909982234390001@remote3.ois.com> (raw)
In-Reply-To: 6tlrfh$udi$1@nnrp1.dejanews.com

In article <6tlrfh$udi$1@nnrp1.dejanews.com>, dennison@telepath.com wrote:

> In article <EzABB4.9Bt.0.-s@inmet.camb.inmet.com>,
>   stt@houdini.camb.inmet.com (Tucker Taft) wrote:
> > dennison@telepath.com wrote:
> >
> > : Green Hills tech support claims their system has no automatic build
process,
> > : and I will have to go into their IDE and *manually* add all 371 files to a
> > : build file.  That file will also have to be *manually* maintained.
(Can you
> > : say "error prone"?).
> >
> > Is the feature that is missing a directory-oriented build,
> > as opposed to a file-oriented build?  It is a little unclear
> > what you mean by "manual" add/maintain.  Presumably you will
> > "manually" need to identify the directories of interest in any system.
> 
> Yes, you could call it that. I have no problem listing directories. I just
> don't want to have to list all 371 files!
> 
> Every other compiler system I have worked with had one command, or more
> typically a combination of two, that could be used to compile an entire
> system from scratch without having to type in every unit or source file. For
> Aonix it would be "adareg -all" followed by "adamake". For gnat I believe one
> "gnatmake" does the trick (assuming everything is named properly).
> 
> On large projects maintaining an Ada library by manual processes is not
> acceptable. With an error here and there it quickly becomes a mess. An
> automatic system build process, particularly something that can be run batch,
> is required.
> 
> With the tools that I have with AdaMulti, I can't do it. It looks like I have
> to do one of two things:
> 
> o Use "adareg -all" to register all files with the library. Then do an
> "adaopts -l -s" to list every file it found. Then invoke the compiler once on
> *each* source file listed.
> 
> o Start up the GUI and create a new "build file". Then manually add each and
> every file with the mouse. Right now for us that amounts to 371 source files
> in 42 directories (but this is just our prototype!). Then invoke the AdaMulti
> builder.

BTW, the GUI "add" field accepts wild cards.
> 
> Neither activity sounds like much fun to do once, let alone once a day. If
> anyone out there disagrees, contact me. We may just have an opening for you.
> Of course you'd have to sign a carpel-tunnel waiver. :-)
> 
> Our only recourse seems to be to use the TCL that came with the AdaMulti to
> write a script to perform the manually intensive part for us. I'm not afraid
> to do that,  just shocked that I have to. I must have missed something.
> 
> --
> T.E.D.
> 
> -----== Posted via Deja News, The Leader in Internet Discussion ==-----
> http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum

We have found it relatively easy to build the "build file" from a shell
script (actually within a make file). Then it is a matter of using the
"build" command or the GUI to make everything. The only trick is to delete
the appropriate build file when its membership should change, or to
maintain it through the GUI. Admittedly this is suboptimal, however it is
relatively obvious when a new file has not been made part of the build,
but is withed by a file that is part of the project. 

For example, here is the ada and default.bld target from one of our Makefiles:

ada: default.bld
        build -ignore

##----------------------------------------------------------------------
default.bld:
        @echo "#!build"   >  default.bld; \
        echo "default:"  >> default.bld; \
        echo "  nobuild" >> default.bld; \
        echo "  :debuglevel=multi" >> default.bld; \
        echo "  :target=$(GHS_TARGET)" >> default.bld; 
        obj_list=`eval 'ls *.ad?'`; \
        for obj in $$obj_list; \
        do \
                echo "$$obj" >> default.bld; \
                echo "      Ada" >> default.bld; \
        done;
        adareg *.ad?

I realize this is not quite you are looking for.

-- 
Victor Giddings               vtg@ois.com
Objective Interface Systems




  reply	other threads:[~1998-09-29  0:00 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-09-14  0:00 Green Hills Ada library question dennison
1998-09-14  0:00 ` Tucker Taft
1998-09-15  0:00   ` dennison
1998-09-29  0:00     ` Victor Giddings [this message]
1998-09-30  0:00       ` dennison
1998-10-01  0:00         ` Paul English
1998-09-30  0:00       ` dewar
1998-09-15  0:00 ` bob
1998-09-15  0:00   ` Green Hills Ada library question (Ada on VxWorks) Corey Minyard
1998-09-16  0:00     ` dewarr
1998-09-16  0:00       ` dennison
1998-09-16  0:00     ` dennison
1998-09-17  0:00       ` dewar
1998-09-18  0:00         ` dennison
1998-09-18  0:00           ` Tarjei Tj�stheim Jensen
1998-09-18  0:00             ` dennison
1998-09-19  0:00               ` dewarr
1998-09-19  0:00               ` dewarr
1998-09-21  0:00                 ` dennison
1998-09-19  0:00             ` dewarr
1998-09-19  0:00           ` dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox