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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,80ae596d36288e8a X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Path: g2news1.google.com!news4.google.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!193.201.147.78.MISMATCH!feeder.news-service.com!feeder.news-service.com!de-l.enfer-du-nord.net!feeder1.enfer-du-nord.net!usenet-fr.net!nospam.fr.eu.org!nntpfeed.proxad.net!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Thu, 26 May 2011 22:46:09 +0200 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Why no socket package in the standard ? References: <9cb23235-8824-43f4-92aa-d2e8d10e7d8c@ct4g2000vbb.googlegroups.com> <4ddb5bd7$0$302$14726298@news.sunsite.dk> <4ddb81b8$0$7628$9b4e6d93@newsspool1.arcor-online.net> <87aaeban8a.fsf@ludovic-brenta.org> <8762ozahib.fsf@ludovic-brenta.org> <871uznaczz.fsf@ludovic-brenta.org> <015e3d6a-772a-41f8-a057-49c8b7bd80e1@w21g2000yqm.googlegroups.com> <4MednVYCXuUZQEHQRVn_vwA@giganews.com> <6d913128-402e-47cc-ae3e-273b65198507@n10g2000yqf.googlegroups.com> <5acc868f-6f77-4a8d-be43-b9c926eb9c08@h9g2000yqk.googlegroups.com> <65dd1431-c6b2-42bd-bbab-27e1ad61a6c4@32g2000vbe.googlegroups.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Message-ID: <4ddebc11$0$6554$9b4e6d93@newsspool4.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 26 May 2011 22:46:10 CEST NNTP-Posting-Host: 0da8f572.newsspool4.arcor-online.net X-Trace: DXC=V]ggSN>3mQU@>[RYkFXOIP4IUKejVXd8\2A`cmW@R6Vo1eKl0bQY X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:19502 Date: 2011-05-26T22:46:10+02:00 List-Id: On 5/26/11 8:29 PM, Yannick DuchĂȘne (Hibou57) wrote: > Le Thu, 26 May 2011 20:20:33 +0200, Maciej Sobczak a Ă©crit: > >> On 26 Maj, 14:42, Ludovic Brenta wrote: >> >>> Similarly, make >>> started as a hack to overcome the deficiencies of C >> >> Sorry, but here: >> >> http://en.wikipedia.org/wiki/Make_%28software%29 >> >> there is nothing about it. Any references to C in this article are >> qualified with "for example", which is in line with what I've said. > > Wikipedia is not the owner of the truth (although it may dream to register this as an owned trademark). I heard the same about Make, as what Ludovic said. And then, the first time I had to face this ugly Make (and its silly file format), was for C/C++. Typically, when you have to deal with a Makefile, this is about C sources (and if its big enough, you also have multiple sources of nightmare). > > That's a fact that C compilers, cannot handle dependencies without the help of an external tool (add this to the preprocessor). > Make (or similar) is still good for building Ada programs, in particular, portable Ada programs (between compilers), and its associated documentation and the tests. Ada compilers typically include their own driver programs that have it their own non-portable ways, and Ada library related programs. These will detect Ada sources only after they know about how and where to find them. In the case of GNAT, this used to boil down to combining gnatchop, gnatmake, and possibly a special file that would list mappings from files to compilation units, or file name patterns that would allow identifying compilation units in the file system. Or setting variables such as ADA_INCLUDE_PATH. For example, gnatmake is not enough if your program is this: procedure Hello; -- offer greetings to the world with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line("Hello, World!"); end Hello; I think gprbuild or at least a GNAT specific project file is needed. In the case of ObjectAda or other frontends built around AdaMagic a program called adareg or similar will permit adding files and paths to the Ada libary; files can consist of more than one compilation unit, no chopping is needed (even though a 1:1 correspondence has been recommended). Additional programs include adamake or adabuild or adacomp. I understand that IBM Rational Apex is using a sophisticated Ada library management software. Make (or similar) on top of this is fairly simple to use and gives you another level of simple configuration. E.g., set environment variables that a GNAT project file will read; use VPATH if you have GNU make and easily switch configurations.