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,SYSADMIN autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,ab5f27c42c253ac5 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news.glorb.com!transit.nntp.hccnet.nl!border2.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!feeder2.news.jippii.net!reader1.news.jippii.net!53ab2750!not-for-mail From: Tapio Kelloniemi Subject: Re: GNAT and GNU build system References: Newsgroups: comp.lang.ada Message-ID: Date: Wed, 04 Aug 2004 20:29:20 GMT NNTP-Posting-Host: 217.30.176.187 X-Complaints-To: newsmaster@saunalahti.com X-Trace: reader1.news.jippii.net 1091651360 217.30.176.187 (Wed, 04 Aug 2004 23:29:20 EEST) NNTP-Posting-Date: Wed, 04 Aug 2004 23:29:20 EEST Organization: Saunalahti Customer Xref: g2news1.google.com comp.lang.ada:2554 Date: 2004-08-04T20:29:20+00:00 List-Id: Georg Bauhaus wrote: >Mark H Johnson wrote: >: Just because autoconf / automake are popular with some free software >: products does not make it a "defacto standard". > >Yea. In addition, the moment you have to deviate only slightly >from what the automake users have thought of in advance, it becomes >an automess. (BTDT many times, auto*/configure has a very low >threshold for the arousal of anger in non-standard(!) environments. Building some non-autoconfized projects with custom compiler flags almost requires a full rewrite of their huge Makefile suites. >All the more when a bunch of dependences is unnecessary >and only caused be a miminal-effort lazy automake setup.) > >GNAT, or IOW the Ada part of GCC, has a way of automatically knowing >about Ada libraries, through the contents of ada_*_path files in the >installation directories. GCC itself has a specs file which contains default include directories and ld has /etc/ld.so.conf file on Unix. If GNAT would use these, writing these extra files (and changing them whenever GCC is updated) is just more silly effort. >In my view the automake phenomenon (a euphemism) works very similar >to a selffulfilling prophecy. ("Just install GNU and a number of >scripting languages on your system, the latest versions, please, >and then run autoxyz, you can then compile the software. See how >nice it works? Oh, there is no GNU on your system? Well... uhm, >you can also have a prebuilt hassle-free binary...") First, building software does not require these autotools to be installed, it is the whole point of them. Secondly configure and automake generated Makefiles only use the tools that are the most common (they don't even suppose that mkdir -p works correctly). When GNU programs are required are the situations were all other implementations are silly or just incompatible with each others in way that cannot be resolved easily. It is the responsib9ility of the package provider, not to generate dependicies to the scripting languages you mentioned. The ones which are sometimes needed are awk and Perl and sh of course. >If a multitude of C libraries cannot be built without >autotools, I don't see many reasons why this should be made >true of Ada libraries as well. I can't see why the aproach, "install this to /usr/ADALIBRARY and adjust your ada_*_paths and environment variables, or copy your files by hand and oops, the paths were hardwired", would be better than running configure. >On a related issue, many (young?) programmers seem to think >that #ifdef _THIS_HEADER_ is a good thing. OTOH, the UNIX gurus >who have also made Plan 9 and related programs have avoided this >style of programming. >I think that working on removing #ifdefs from C files will >do good to almost every C program. The same is true if you >put some effort into a program that can be easily configured >without autotools. The time needed will come back later, many >times. Perhaps, but learning a separate configuration method for each lib and app is a hell to a system administrator. Somebody might like a GUI configuration tool and developer will use weeks to get it working on every platform, but somebody would like to run a script and see their system built. -- Tapio