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,ASCII-7-bit Path: g2news2.google.com!news4.google.com!feeder.news-service.com!de-l.enfer-du-nord.net!feeder1.enfer-du-nord.net!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Ludovic Brenta Newsgroups: comp.lang.ada Subject: Re: Why no socket package in the standard ? Date: Thu, 26 May 2011 23:59:25 +0200 Organization: A noiseless patient Spider Message-ID: <87hb8h6s3m.fsf@ludovic-brenta.org> 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> <4ddebc11$0$6554$9b4e6d93@newsspool4.arcor-online.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: mx04.eternal-september.org; posting-host="2X8Bs1k/KVMLGdvqfjIRgQ"; logging-data="28074"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18fSvSXlocHCE88w5fF1c+t" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) Cancel-Lock: sha1:f5skCbNriygCUID89ri8q+xlRFk= sha1:TFiVTD5ffLPExbS0wIMYfSnfgFU= Xref: g2news2.google.com comp.lang.ada:20476 Date: 2011-05-26T23:59:25+02:00 List-Id: Georg Bauhaus writes on comp.lang.ada: > Make (or similar) is still good for building Ada programs, in > particular, portable Ada programs (between compilers), and its > associated documentation and the tests. Make is a wrapper around shell scripts (the rules in Makefiles are shell scripts). You can use a Makefile as a wrapper around the compiler driver but you might as well avoid Make and use shell scripts directly because you do not need Make to figure dependencies or order of compilation out. In fact, Make's built-in rules and dependency engine might get in the way. Makefiles tend not to be portable between operating systems anyway; that's what Automake and Configure are for :) > 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. Huh? $ gnatmake hello gcc-4.4 -c hello.adb gnatbind -x hello.ali gnatlink hello.ali $ ./hello Hello, World! What is missing that makes gnatmake "not enough"? > 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. No, Makefiles wrappers around compiler drivers + Ada library management would be complicated and difficult to maintain. You'd be better off with even simpler shell scripts or, why not, gprmake. -- Ludovic Brenta.