comp.lang.ada
 help / color / mirror / Atom feed
From: "Steve" <nospam_steved94@comcast.net>
Subject: Re: Porting Ada code to Linux
Date: Tue, 31 Oct 2006 19:28:41 -0800
Date: 2006-10-31T19:28:41-08:00	[thread overview]
Message-ID: <e9Odnaf-g-P6idXYnZ2dnUVZ_sKdnZ2d@comcast.com> (raw)
In-Reply-To: 1162316294.922457.113520@h48g2000cwc.googlegroups.com

"Howard" <Howard.Parrish@peterson.af.mil> wrote in message 
news:1162316294.922457.113520@h48g2000cwc.googlegroups.com...
[snip]
> We need to port this Ada code over, also.  We have decided, given that
> there is between 45 and 55 thousand lines of Ada code, with its
> attendant complexity, to simply use the Ada code as is without
> re-writing it into C++.  This Ada code depends on some files, also
> written in Ada, that then have some pragmas to a Visual C++ library,
> "winbase.h"...
>
> The Ada libs are;
>
> Win32
> Win32-Utils
> Win32-Winbase (pragmas to VCPP winbase.h lib)
> Win32-Windef
> Win32-Winnt
>
> Stdarg
> Stdarg-Impl
> Stdarg-Inst
> Stdarg-Machine
>

My first response is: it is unfortunate that the Ada code was programmed 
with direct dependencies to these interface modules (apparently) scattered 
about the system.  A better approach is to create a more generic binding to 
the system dependent interfaces to ease porting.

Given that you are talking about tens of thousands of lines of code, I would 
suggest attempting to create such an interface module with the existing 
code.  Remove all references to the existing Win32 and Stdarg stuff.  The 
compiler will help by telling you where things need to be "fixed up".

While this may sound like a daunting approach, in my experience this 
approach is not as bad as it sounds.  It's a bit tedious, but really doesn't 
take that long.  For example eliminating the "With" statements will 
immediatly identify things that need to be re-defined in an OS independent 
manner.  The first compile may give you a LOT of errors, but often fixing 
one error fixes many.  When a problem is identified, similar problems may 
often be corrected with a search and replace in an editor.

Steve
(The Duck)


> These are all Ada packages, and these name represent specs, and bodies,
> so named.
>
> So, we are going to have to compile the Ada code, then link it with the
> new C++ code.  We are using the Gnu-G++ compiler linker, and we will
> need to be able to link in the Ada object files with our C++ files.  We
> have to find a way to replace, or port, the mentioned Ada libs.
>
> The "Winbase" dependancy on the Visual C++ files is problematic, at
> best...
>
> So, again, any insight that can be provided would be greatly
> appreciated.  You can write me directly at
>
> Howard.Parrish@cisf.af.mil
> 





  parent reply	other threads:[~2006-11-01  3:28 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-31 14:17 Porting Ada code to Linux Bill
2006-10-31 14:30 ` Georg Bauhaus
2006-10-31 17:38 ` Howard
2006-10-31 18:16   ` Martin Krischik
2006-10-31 20:29     ` Gautier
2006-10-31 20:21   ` Dr. Adrian Wrigley
2006-10-31 20:26   ` Michael Bode
2006-10-31 20:40   ` Gautier
2006-10-31 23:10     ` Dr. Adrian Wrigley
2006-10-31 20:41   ` Michael Bode
2006-11-01  3:28   ` Steve [this message]
2006-11-01  9:03   ` Dmitry A. Kazakov
2006-11-01 10:14 ` Alex Buell
replies disabled

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