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 Path: g2news2.google.com!postnews.google.com!16g2000yqy.googlegroups.com!not-for-mail From: Ludovic Brenta Newsgroups: comp.lang.ada Subject: Make, Automake, Configure, Autocong, GPRbuild etc (was: Why no socket package in the standard ?) Date: Fri, 27 May 2011 05:49:26 -0700 (PDT) Organization: http://groups.google.com Message-ID: <57dd5b82-741b-400a-a279-aff6282458f6@16g2000yqy.googlegroups.com> 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> <0fa361b8-3e13-4656-9ca9-786dcc8aceef@h36g2000pro.googlegroups.com> <87ipsx8nem.fsf@ludovic-brenta.org> <82r57k74d8.fsf@stephe-leake.org> <12bp94g7j8v7k.d1ivuuyvwofm$.dlg@40tude.net> NNTP-Posting-Host: 153.98.68.197 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1306500566 9300 127.0.0.1 (27 May 2011 12:49:26 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 27 May 2011 12:49:26 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: 16g2000yqy.googlegroups.com; posting-host=153.98.68.197; posting-account=pcLQNgkAAAD9TrXkhkIgiY6-MDtJjIlC User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-Header-Order: HUALESRCNK X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.6) Gecko/2009012111 Red Hat/3.0.6-1.el5 Firefox/3.0.6,gzip(gfe) Xref: g2news2.google.com comp.lang.ada:20489 Date: 2011-05-27T05:49:26-07:00 List-Id: Dmitry A. Kazakov wrote on comp.lang.ada: > On Fri, 27 May 2011 07:46:43 -0400, Stephen Leake wrote: >> Ludovic Brenta writes: >>> Adam Beneschan writes on comp.lang.ada: >>>> Ludovic Brenta wrote: >>>>> Yannick Duch=EAne wrote on comp.lang.ada: >>>>>> Peter C. Chapin a =E9crit: >>>>>>> It also true that autoconf is a travesty... a throwback to a >>>>>>> darker age when the POSIX standard did not exist (or at least >>>>>>> was not widely implemented). >>>>>> >>>>>> I do not know that much about Autoconf, so I can't really >>>>>> understand what that mean and implies (someone else here >>>>>> also say a bit the same as you too). >>>>> >>>>> Make was invented to overcome the deficiencies of C, notably >>>>> the lack of modular programming and dependency management. >>>>> >>>>> Automake was invented to overcome the deficiencies of make, >>>>> notably the poor maintainability of Makefiles. >>>>> >>>>> Configure was invented to overcome the deficiencies of early >>>>> UNIX systems, notably the lack of conformance to POSIX, and >>>>> their impact on the maintenance of Automake files. >>>>> >>>>> Autoconf was invented to overcome the deficiencies of >>>>> Configure, notably the sheer size and horror of the configure >>>>> scripts, which routinely consist of hundreds of thousands of >>>>> lines of illegible POSIX shell code. >>>> >>>> I was going to ask what was the invention to overcome the >>>> deficiencies of autoconf, but I think I figured it out ... >>>> rm -rf, right? >>>> >>> Opinions differ but I'd tend to side with you :) >> >> No! Ada and gprbuild :) we finally got it right :) > > No, it was only one step forward. There are still mseinstall, > rpmbuild, dpkg mess around there. I think it is appropriate to separate the building of the binary software from the packaging for a particular target platform. For starters, the author of the software does not necessarily have access to all target operating systems. The package maintainer requires intimate knowledge of the target operating system, its package management system, its policies, the names of existing packages, etc. These are different concerns best addressed by different build systems. The things you mentioned (mseinstall, rpmbuild, dpkg) naturally sit on top of the build system provided as part of the software source distribution. I don't think they should be merged. That said, simplicity in both the build system and the packaging is of course a Good Thing. In Debian I've taken that approach to extremes at times, bypassing the fragile Autoconf-based build system of some software and replacing it with a single GPR project file and a couple of rules in the packaging Makefile. -- Ludovic Brenta.