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
>
next prev 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