comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Porting Ada code to Linux
Date: Wed, 1 Nov 2006 10:03:24 +0100
Date: 2006-11-01T10:03:24+01:00	[thread overview]
Message-ID: <6xu19avs6b2g$.mc4znng95yh0$.dlg@40tude.net> (raw)
In-Reply-To: 1162316294.922457.113520@h48g2000cwc.googlegroups.com

On 31 Oct 2006 09:38:14 -0800, Howard wrote:

> I work with Bill, and I wanted to provide a more detailed expansion of
> our situation;
> 
> We are porting from a Windows-95 "legacy" system to a new Linux one.
> The code we are re-writing is Visual Basic, and we are translating it
> into C++.  But, the VB code had a dependancy on a considerable amount
> of Ada 95 code that the VB code interfaced with via DLLs.
> 
> 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

OK, that's Windows API interface. It is not language issue.

Depending on what was used in the application, there might be no chance to
port it at all. It is not Ada, but an OS-specific problem. Honestly, I know
no way to port, say, Window's SendMessage to Linux. It is just a totally
different architecture. Firstly you need Windows expertise. Your question
suggests that you don't have it. This makes the chances even lower than
zero. So, probably, as others have proposed, you should redesign the
program with OS-portability in mind. Ada offers you an excellent support
here.

There is another option, not mentioned before. I can't tell how realistic
it is, but anyway, there are Windows emulators for Linux. Wine is one. I
never used Wine, but it looks that apart from its main purpose of being a
Windows emulator, Wine also supports porting [for lazy ones (:-))]. I'd
suggest you to take a look at Winelib

http://www.winehq.org/site/docs/winelib-guide/index

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  parent reply	other threads:[~2006-11-01  9:03 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
2006-11-01  9:03   ` Dmitry A. Kazakov [this message]
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