comp.lang.ada
 help / color / mirror / Atom feed
* Tips for conversion from Apex to GNAT
@ 1999-12-22  0:00 Chris Powell
  1999-12-23  0:00 ` David C. Hoos, Sr.
  1999-12-23  0:00 ` Jeff Creem
  0 siblings, 2 replies; 8+ messages in thread
From: Chris Powell @ 1999-12-22  0:00 UTC (permalink / raw)


Does anyone have any tips for converting Apex based Ada system to build
under GNAT? Some obvious potential pitfalls spring to mind: the
compatibility of libraries (we cross compile to PowerPC, VxWorks), the
file extension mapping from Apex .1.ada/.2.ada to .ads/.adb,
inconsistencies in implementation-defined areas of the compilers...

Perhaps someone has written a wizzo makefile that can build an
application directly from views in an Apex tower using GNAT?

We are interested to see if the application builds any quicker: we spend
a lot of time waiting for builds under Apex.

Thanks in advance; Chris Powell.




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Tips for conversion from Apex to GNAT
  1999-12-22  0:00 Tips for conversion from Apex to GNAT Chris Powell
@ 1999-12-23  0:00 ` David C. Hoos, Sr.
  1999-12-23  0:00 ` Jeff Creem
  1 sibling, 0 replies; 8+ messages in thread
From: David C. Hoos, Sr. @ 1999-12-23  0:00 UTC (permalink / raw)



Chris Powell <chris.powell@rrds.co.uk> wrote in message
news:38609E9C.B75C9962@rdel.co.uk...
> Does anyone have any tips for converting Apex based Ada system to build
> under GNAT? Some obvious potential pitfalls spring to mind: the
> compatibility of libraries (we cross compile to PowerPC, VxWorks), the
> file extension mapping from Apex .1.ada/.2.ada to .ads/.adb,
> inconsistencies in implementation-defined areas of the compilers...
>
> Perhaps someone has written a wizzo makefile that can build an
> application directly from views in an Apex tower using GNAT?
The Rational Compilation Integrator (RCI) system allows you to do that.
Your Rational Rep should be able to set one up for you, or you can
wade through the documentation, and do it yourself.  That's what I did,
then when a couple of Ada95 features -- e.g., stream attribute
overloading, I got a couple of hours help from Rational.
I set up such a system in early 1997, before Rational had a real
Ada95 compiler, and we were using gnat-3.09p at the time, using a
Solaris sparc-hosted Apex, generating programs for both Solaris and
IRIX targets.

> We are interested to see if the application builds any quicker: we spend
> a lot of time waiting for builds under Apex.
>
I can't comment on this part of the problem.
> Thanks in advance; Chris Powell.






^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Tips for conversion from Apex to GNAT
  1999-12-22  0:00 Tips for conversion from Apex to GNAT Chris Powell
  1999-12-23  0:00 ` David C. Hoos, Sr.
@ 1999-12-23  0:00 ` Jeff Creem
  1999-12-26  0:00   ` Arthur Schwarz
  2000-01-12  0:00   ` Wes Groleau
  1 sibling, 2 replies; 8+ messages in thread
From: Jeff Creem @ 1999-12-23  0:00 UTC (permalink / raw)



Chris Powell <chris.powell@rrds.co.uk> wrote in message
news:38609E9C.B75C9962@rdel.co.uk...
> Does anyone have any tips for converting Apex based Ada system to build
> under GNAT? Some obvious potential pitfalls spring to mind: the
> compatibility of libraries (we cross compile to PowerPC, VxWorks), the
> file extension mapping from Apex .1.ada/.2.ada to .ads/.adb,
> inconsistencies in implementation-defined areas of the compilers...
>
> Perhaps someone has written a wizzo makefile that can build an
> application directly from views in an Apex tower using GNAT?
>
> We are interested to see if the application builds any quicker: we spend
> a lot of time waiting for builds under Apex.
>
> Thanks in advance; Chris Powell.



If you are keeping Apex around and just trying to integrate in GNAT then you
might
want to look to Rational for an RCI license or two which allows other
compilers to
be merged into the Apex environment. Note that to do this you would need
both
licenses and support for actually putting together the RCI customizations.
It is not
rocket science but looks a little daunting until you have done it.

I have used GNAT with Apex (without RCI) for a few years. I have written
several cheezy
scripts to basically build a set of directories with symbolic links to an
existing Apex view (where
the link names follow standard GNAT conventions) and
extract out the Apex imports to build the ADA_INCLUDE_PATH variables. This
was all done at
work so I can not release it but if you have questions I could give you some
tips.


As far as compile speed, GNAT is faster in some cases slower in others but
in general it does feel faster
more often. If you take a look at the Big Book of Linux Ada programming (at
 http://www.vaxxine.com/pegasoft/homes/book.html) and look at the section
http://www.vaxxine.com/pegasoft/homes/5.html on cook (a parallel Make
program), there is a
sample cook file that works with GNAT to distribute your compiles and get it
to go even faster
(note that something like this is also possible with Apex)

Don't be put off by the document being Linux based. Most of the info applies
in any environment
where you can run GNAT.








^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Tips for conversion from Apex to GNAT
  1999-12-23  0:00 ` Jeff Creem
@ 1999-12-26  0:00   ` Arthur Schwarz
  1999-12-26  0:00     ` Robert Dewar
                       ` (2 more replies)
  2000-01-12  0:00   ` Wes Groleau
  1 sibling, 3 replies; 8+ messages in thread
From: Arthur Schwarz @ 1999-12-26  0:00 UTC (permalink / raw)



Jeff Creem <jcreem@atetola.mv.com> wrote in message
news:83ufng$a9h$1@pyrite.mv.net...
>
> Chris Powell <chris.powell@rrds.co.uk> wrote in message
> news:38609E9C.B75C9962@rdel.co.uk...
> > Does anyone have any tips for converting Apex based Ada system to build
> > under GNAT? Some obvious potential pitfalls spring to mind: the
> > compatibility of libraries (we cross compile to PowerPC, VxWorks), the
> > file extension mapping from Apex .1.ada/.2.ada to .ads/.adb,
> > inconsistencies in implementation-defined areas of the compilers...

Just did that (original on Sun/Solaris, GNAT on Win95 machine). Program
size about 100,000 SLOC (maybe 200,000, ...). The major problem that I
recall was the placement of one of the pragma's. RATIONAL places it between
the package start and the end package, GNAT places it after the end package.
There might have been one more (minor) issue, but other than that, it
compiled.
(And I did provide stubs for all of the RATIONAL libraries). The only other
thing that I might add, is that the Sun/Solaris libraries were used.

Not a slam-dunk but not really a brain teaser either. It takes more time
than anything else.

I would be interested in any of your experiences and would be glad to
engage in a dialog. If interested, you can send e-mail to me directly
at work or at home. Unfortunately, I can't access any newsgroup at work
because management (or CSC) feels that there is a chance that at least
one person out of 1,500 might accidently or deliberately access an in-
appropriate site; and that person might as well be me.

Good luck.

art

aschwarz@acm.org
schwarza@gdls.com






^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Tips for conversion from Apex to GNAT
  1999-12-26  0:00   ` Arthur Schwarz
  1999-12-26  0:00     ` Robert Dewar
@ 1999-12-26  0:00     ` Robert Dewar
  1999-12-26  0:00     ` Robert Dewar
  2 siblings, 0 replies; 8+ messages in thread
From: Robert Dewar @ 1999-12-26  0:00 UTC (permalink / raw)


In article <s6ccap5h45153@corp.supernews.com>,
  "Arthur Schwarz" <aschwarz@acm.org> wrote:
> The major problem that I
> recall was the placement of one of the pragma's. RATIONAL
places it between
> the package start and the end package, GNAT places it after
> the end package.


Certainly if this was the "major problem", then you had highly
portable code. In our experience the major impediment to porting
between *any* two Ada compilers is legitimate implementation
dependencies.

However the pragma placement cannot be an ID, and must represent
a bug in one or the other compiler, so you might want to give
more details on this.



Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Tips for conversion from Apex to GNAT
  1999-12-26  0:00   ` Arthur Schwarz
  1999-12-26  0:00     ` Robert Dewar
  1999-12-26  0:00     ` Robert Dewar
@ 1999-12-26  0:00     ` Robert Dewar
  2 siblings, 0 replies; 8+ messages in thread
From: Robert Dewar @ 1999-12-26  0:00 UTC (permalink / raw)


In article <s6ccap5h45153@corp.supernews.com>,
  "Arthur Schwarz" <aschwarz@acm.org> wrote:
> Just did that (original on Sun/Solaris, GNAT on Win95
machine).

you might also want to discuss this on chat@gnat.com. Many of
our customers have successfully moved large programs from
APEX to GNAT, and you will probably find a number of people
there who can share their experiences.

Robert Dewar
Ada Core Technologies


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Tips for conversion from Apex to GNAT
  1999-12-26  0:00   ` Arthur Schwarz
@ 1999-12-26  0:00     ` Robert Dewar
  1999-12-26  0:00     ` Robert Dewar
  1999-12-26  0:00     ` Robert Dewar
  2 siblings, 0 replies; 8+ messages in thread
From: Robert Dewar @ 1999-12-26  0:00 UTC (permalink / raw)


In article <s6ccap5h45153@corp.supernews.com>,
  "Arthur Schwarz" <aschwarz@acm.org> wrote:
> Just did that (original on Sun/Solaris, GNAT on Win95
machine).

I would also like to emphasize the RCI route, where you use
APEX for development and GNAT for production execution. We
have been working with Rational to help them improve this
RCI interface, and we expect that this approach will get
more convenient as time goes by (changes are being made
to both GNAT and Apex to facilitate this RCI route).

Robert Dewar
Ada Core Technologies


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Tips for conversion from Apex to GNAT
  1999-12-23  0:00 ` Jeff Creem
  1999-12-26  0:00   ` Arthur Schwarz
@ 2000-01-12  0:00   ` Wes Groleau
  1 sibling, 0 replies; 8+ messages in thread
From: Wes Groleau @ 2000-01-12  0:00 UTC (permalink / raw)



> sample cook file that works with GNAT to distribute your compiles and get it
> to go even faster
> (note that something like this is also possible with Apex)

Apex has built-in a distributed compilation facility.  However, it does
not work well with Ada.  (It was intended for C++).

If you select a bunch of source files and try to "code in parallel" they
all run one at a time on one machine.

If you select several _views_ and code in parallel, each view is a
separate job on the next available machine from your "execution list" (a
file in a particular format in a particular place).

But suppose you have package X in one view and package Y in another. 
Both with package Z.  If Z has been changed, then when one job gets to
package X, it will first update Z.  If another job gets to package Y at
the same time, it will also try to update Z.  Both jobs will be writing
into the DIANA nets which will be corrupted.




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2000-01-12  0:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-12-22  0:00 Tips for conversion from Apex to GNAT Chris Powell
1999-12-23  0:00 ` David C. Hoos, Sr.
1999-12-23  0:00 ` Jeff Creem
1999-12-26  0:00   ` Arthur Schwarz
1999-12-26  0:00     ` Robert Dewar
1999-12-26  0:00     ` Robert Dewar
1999-12-26  0:00     ` Robert Dewar
2000-01-12  0:00   ` Wes Groleau

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