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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,81bb2ce65a3240c3 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Received: by 10.68.236.170 with SMTP id uv10mr11721595pbc.4.1335610703086; Sat, 28 Apr 2012 03:58:23 -0700 (PDT) Path: r9ni107921pbh.0!nntp.google.com!news1.google.com!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail From: =?ISO-8859-1?Q?bj=F6rn_lundin?= Newsgroups: comp.lang.ada Subject: Re: What would you like in Ada202X? Date: Sat, 28 Apr 2012 03:58:22 -0700 (PDT) Organization: http://groups.google.com Message-ID: <27041716.792.1335610702748.JavaMail.geo-discussion-forums@ynjj38> References: <3637793.35.1335340026327.JavaMail.geo-discussion-forums@ynfi5> <4f97bf40$0$6559$9b4e6d93@newsspool4.arcor-online.net> <24059627.96.1335359487863.JavaMail.geo-discussion-forums@vbfx1> <26999883.226.1335370349703.JavaMail.geo-discussion-forums@vbq5> NNTP-Posting-Host: 46.195.12.29 Mime-Version: 1.0 X-Trace: posting.google.com 1335610702 10777 127.0.0.1 (28 Apr 2012 10:58:22 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sat, 28 Apr 2012 10:58:22 +0000 (UTC) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=46.195.12.29; posting-account=3_reEwoAAAC163IAIrx427KYmwahFuh9 User-Agent: G2/1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2012-04-28T03:58:22-07:00 List-Id: Den torsdagen den 26:e april 2012 kl. 17:20:44 UTC+2 skrev Simon Wright: =20 > We use separates with a code generator; the actual implementations are > kept in a parallel directory from the generated ones, so that we don't > need to worry about keeping implementation details in a (UML) model (the > original intent was that the compiler would look at the implementation > directory first, thus superseding any equivalents in the generated > directory; but that doesn't fly with gnatmake, so we delete the > 'overridden' files). But it does work, with some additional tools. When I ported our system to gnat in 2003, the project files were not good e= nough. So I wrote a frontend in tcl, with a flat file for configuring the 'ada lib= rary' This makes it possible to override a src file with another, based on its location in the file system I associated a object directory with a file path $SRC/sql $ADA_LIB_ROOT/global $SRC/qb/ $ADA_LIB_ROOT/global/qb $SRC/qb/test $ADA_LIB_ROOT/global/qb/test #------- $TRG/qb $ADA_LIB_ROOT/global/qb these are parsed and put into $ADA_OBJECTS_PATH and $ADA_INCLUDE_PATH from the leaf, so that having actual code in $SRC/qb,=20 and an overiding package in $SRC/qb/test will make the=20 test package be linked into the process,=20 if I link from $TRG/qb. from pwd, I find the associated object lib. from there, I look for leaves. so the object path will look like $ADA_LIB_ROOT/global/qb/test:$ADA_LIB_ROOT/global/qb:$ADA_LIB_ROOT/global Then I use that path to contruct the ADA_INCLUDE_PATH. first add those src paths that are associated with=20 $ADA_LIB_ROOT/global/qb/test then all src paths that are associated with $ADA_LIB_ROOT/global/qb and finally src paths that are associated with $ADA_LIB_ROOT/global =20 and i use the -i option of gnatmake to get the .o file where the .ali file = is. and the script cretates an .ali file for each .adb/.ads in that object stru= cture on beforehand -- Bj=F6rn Lundin