Hi, I am also not a maintainer :-).
One small concern that I have with checksums is that it might take a really long time to check large files or a lot of files. This would indicate that one needs to be able to switch checksumming on/off for different prerequisites. I think that there should be a way to indicate the "type" of dependency that is implied: e.g. make already has "ORDER ONLY" dependencies which check based on existence rather than mtime. /tmp/out/fred.o: fred.c | /tmp/out .... means that the directory /tmp/out must exist before one can write fred.o but if the dir is newer than fred.o then there is no need to regenerate fred.o so for checksums one might do something like: /tmp/out/fred.o: |cksum fred.c | /tmp/out There are other dependency methods that matter and one should leave room to add them later too e.g.: 1. Whitespace changes in the file only 2. Comments changed but nothing else 3. Source control system says file has not changed so even though it was checked out and has a new mtime, don't rebuild it. That's just my 2 pence :-) Regards, Tim On 12/04/2008, Giuseppe Scrivano <[EMAIL PROTECTED]> wrote: > > 2008/4/12, Eli Zaretskii <[EMAIL PROTECTED]>: > > > Thanks. (I'm not the head maintainer, so please wait for Paul and > > others to respond.) > > > > > +int > > > +compute_checksum(struct file *new) > > > +{ > > > + int checksum = 0; > > > + FILE *f; > > > + char buffer [4096]; > > > + > > > + f = fopen (new->name, "r"); > > > > This needs to use "rb", not "r". > > > Thank you for the reply, yes it should be "rb". > > > > > Also, what about directories? they cannot be fopen'ed and fread, at > > least not on all supported systems. > > > IHMO directories should not be considered, while reading the mtime can > be done quickly, considering a checksum for all the files contained in > the directory is very expensive (in my proof-of-concept patch I didn't > put any control code). > > Regards, > > Giuseppe > > > > _______________________________________________ > Bug-make mailing list > Bug-make@gnu.org > http://lists.gnu.org/mailman/listinfo/bug-make > -- You could help some brave and decent people to have access to uncensored news by making a donation at: http://www.thezimbabwean.co.uk/
_______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make