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,206547e68a60b0e7 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.multikabel.nl!news2.euro.net!border2.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!transit.news.xs4all.nl!195.241.76.212.MISMATCH!tiscali!transit1.news.tiscali.nl!dreader2.news.tiscali.nl!not-for-mail Newsgroups: comp.lang.ada Subject: Re: How to cache output of the compiler aka ccache References: <1111085641.211767.56950@f14g2000cwb.googlegroups.com> <87zmx23uon.fsf@insalien.org> From: Ludovic Brenta Date: Fri, 18 Mar 2005 02:24:28 +0100 Message-ID: <87oedh4ugj.fsf@insalien.org> User-Agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.3 (gnu/linux) Cancel-Lock: sha1:5PWISDpssrBBkOi+1upQwNRVcb0= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Organization: Tiscali bv NNTP-Posting-Date: 18 Mar 2005 02:24:22 CET NNTP-Posting-Host: 83.134.244.177 X-Trace: 1111109062 dreader2.news.tiscali.nl 44081 83.134.244.177:35992 X-Complaints-To: abuse@tiscali.nl Xref: g2news1.google.com comp.lang.ada:9571 Date: 2005-03-18T02:24:22+01:00 List-Id: Marius Amado Alves writes: >> The Ada model is indeed clean, simple and reliable. Sometimes, it >> is necessary to supplement it to provide preprocessing facilities, >> or to select the units to be compiled from a CM system. Simple >> scripts or minimalistic makefiles can do that. > > Yeah. And nowadays makefiles is mostly used as an output language > from Configure. Write-only makefiles. Completely unreadable and > unmantainable. And in my experience, more often than not these > makefiles don't work. For example, building Graphviz, or ZLib on a > Mac OS X. I end up studying the macrostructure of the code (the C > units, which ones are libraries, which ones are programs) and then > compiling by hand, or writing a small, readable makefile by hand, > and eventually using Libtool (and sometimes Ranlib, another idiotic > tool). For me Configure was a waste of time. Its 72-page manual is > in the bin. Hehe... C had separate compilation, but no dependency management. To overcome this limitation, Makefiles were created, but they were not portable enough. To overcome this limitation, configure scripts were created. At first simple, they had to take into account the idiosyncrasies of more and more host and target platforms and became unwieldy and fragile. To overcome this limitation, autoconf was created, but it still cannot possibly know everything about every host and target platform. To overcome this limitation, automake was created. Now, autoconf and automake work hand in hand, each using a mix of several cryptic languages. They have become so fiendlishly difficult to maintain that few people if any at all understand how they work. To overcome this limitation, ... Verily this is not the Tao of Programming :) -- Ludovic Brenta.