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!news1.google.com!proxad.net!newsfeed.stueberl.de!feed.news.tiscali.de!news.belwue.de!LF.net!news.enyo.de!not-for-mail From: Florian Weimer Newsgroups: comp.lang.ada Subject: Re: How to cache output of the compiler aka ccache Date: Fri, 18 Mar 2005 17:24:45 +0100 Message-ID: <87zmx0exbm.fsf@deneb.enyo.de> References: <1111085641.211767.56950@f14g2000cwb.googlegroups.com> <7f8cfe1b.0503172258.2ef3b9f6@posting.google.com> <21369831.btob92lcNg@jellix.jlfencey.com> <8764zpggo8.fsf@deneb.enyo.de> <2025459.1b53Xg3BXS@jellix.jlfencey.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: albireo.enyo.de 1111163087 25822 212.9.189.177 (18 Mar 2005 16:24:47 GMT) X-Complaints-To: Cancel-Lock: sha1:TWBKRrnLWpxKpzDe6OF1/+fxFG0= Xref: g2news1.google.com comp.lang.ada:9603 Date: 2005-03-18T17:24:45+01:00 List-Id: * Vinzent Hoefler: > Florian Weimer wrote: > >> * Vinzent Hoefler: >> >>> It obviously fails to recompile missing dependencies. From my tests >>> it also seems to ignore file dates. So I'd say, the "Java Build >>> System" is non-existent. >> >> It's not specified by the standard. > > That's as good as "non-existent". :) Uh-oh, even with Ada, this is mostly a quality-of-implementation issue. Ada implementations only need to enforce consistency. There's no need to support build tools which recognize dependencies and automatically recompile them. It's also perfectly acceptable to always recompile all dependencies. >> Sun's implementation optionally >> recompiles out-of-date dependencies, though. > > Well, yes. I've tested some more, and from those tests it seems, Sun's > "javac" recompiles dependencies if they are at most one level deep (or > - to put it another way - direct dependencies of the file being > compiled). It even does that recursively, so if I delete /all/ .class > files it recompiles everything, of course. Oh, come on, have a closer look at the documentation.