From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Thread: 103376,87dcbc853960d3bd X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news1.google.com!proxad.net!freenix!enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: =?iso-8859-1?q?Bj=F6rn_Lundin?= Newsgroups: comp.lang.ada Subject: Re: Moving from Ada 83 to Ada 95 Date: Thu, 25 Nov 2004 21:14:15 +0100 Organization: Cuivre, Argent, Or Message-ID: References: NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: melchior.cuivre.fr.eu.org 1101413759 6676 212.85.156.195 (25 Nov 2004 20:15:59 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Thu, 25 Nov 2004 20:15:59 +0000 (UTC) To: comp.lang.ada@ada-france.org Return-Path: User-Agent: KMail/1.7 In-Reply-To: Content-Disposition: inline X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at ada-france.org X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Gateway to the comp.lang.ada Usenet newsgroup" List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Xref: g2news1.google.com comp.lang.ada:6479 Date: 2004-11-25T21:14:15+01:00 onsdag 24 november 2004 21:53 skrev vrenna: > Has someone done such thing? I need to move a huge application made in Ada > 83 and installed on Solaris, to Ada 95 (probably on Linux)... looks very > tough but maybe there're automatic tools and good advices out there. What > do you say? > I've moved a Warehouse management system with ~1500 - 2000 files, from Alsy= s=20 Ada on Aix to Gnat. Biggest problem were how to deal with Ada libraries, since we had 3 levels in the Ada library, where many packages on the same level had the= =20 same name. ie global inventory test crane conveyor etc were both crane and conveyor had a 'transport_handler' package. The trick was to setup a similar structure on disk, using the ali-files, an= d=20 by using (I think) -bargs -E to gnatmake to look for the ali-file, and put= =20 the object file in the same directory. I also had to write a frontend to=20 gnatmake to set up what source and objectpaths gnatmake is allowed to look= =20 at. So linking on the target directory for /global/crane would not see sour= ce=20 or target directory for conveyor. Yes I did look on projects, but it did no= t=20 suit us, since we have about 25 executables, and they share a lot of code. (gnatmake tells me that the biggest process withs 400 packages) Other tricks was to remove Alsys Ada specific function calls like=20 'Suspend_Tasking', since gnat maps tasks to threads(?) and thus allowing=20 blocking calls in threads. =46ilenames had to be changed, we had package names like A_Package_Body.ada= resp=20 A_Package_Spec.ada. Gnatchop was handy. We also sometimes had spec and body= =20 in the same file, and several separate procedures in the same file. Gnatcho= p=20 again. But the most annoying was adding 'pragma Elaborate_All' to packages using=20 other generic packages. I tried without, but most processes went belly up=20 with Program_Error. (Strange, It worked with Alsys Ada, and ObjectAda on=20 windows, but not with gnat)=20 =46ileseize of the exe are bigger. From 6 Mb to 30 Mb for the biggest one. = But I=20 want the stackdump on crashes, so I don't want to use the -largs -s switch = or=20 optimize for size. I was afraid we needed more RAM, but we don't. Not the= =20 whole process goes up to memory, but we need bigger disks.=20 (We have simulators, that simulates the truckdrivers, and by cloning one, w= e=20 simulate more drivers. I started 30 of them, thus wasting 900 mb on identic= al=20 exefiles. I then found hard links usefull) /Bj=F6rn > > _______________________________________________ > comp.lang.ada mailing list > comp.lang.ada@ada-france.org > http://www.ada-france.org/mailman/listinfo/comp.lang.ada