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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,d694b5818a5102b1 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-09-20 23:20:43 PST Path: bga.com!news.sprintlink.net!howland.reston.ans.net!pipex!lyra.csx.cam.ac.uk!warwick!yama.mcc.ac.uk!cs.man.ac.uk!newshost!bevan From: bevan@cs.man.ac.uk (Stephen J Bevan) Newsgroups: comp.lang.ada Subject: Re: Naive question about system dependencies Date: 20 Sep 1994 09:02:41 GMT Organization: Department of Computer Science; University of Manchester Message-ID: References: <35f559$mad@info.epfl.ch> <35jupm$dkq@theopolis.orl.mmc.com> NNTP-Posting-Host: lemur.cs.man.ac.uk In-reply-to: dennison@romulus23.DAB.GE.COM's message of 19 Sep 1994 12:05:10 GMT Date: 1994-09-20T09:02:41+00:00 List-Id: In article <35jupm$dkq@theopolis.orl.mmc.com> dennison@romulus23.DAB.GE.COM (Ted Dennison) writes: In article <35f559$mad@info.epfl.ch>, weber@lglsun.epfl.ch (Mats Weber) writes: |> In article |> Using a good file naming convention helps a lot in managing the |> different versions. We use something like this: |> |> sql_interface.ads (common package spec) |> sql_interface-oracle-vms.adb (body for Oracle under VMS) |> sql_interface-sybase-unix.adb (body for Sybase under UNIX) |> |> Despite the amount of code duplication, I prefer this to a preprocessor |> approach. This won't work under GNAT. GNAT doesn't allow you to use "a good file naming convention", you have to use theirs. I don't believe this is quite correct. If you want to use the above naming convention with a compiler you have to define -somewhere- the relationship between the interface and the particular implementation you want to use (i.e. Oracle or Sybase). With GNAT, all you'd have to have is a script (perhaps generated by a config script for the given platform) which created a link (or defined a logical on VMS) between the sql_interface.xxx and the appropriate implementation.