cons-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Signature configurability: documentation review


From: Johan Holmberg
Subject: Re: Signature configurability: documentation review
Date: Sat, 31 Mar 2001 15:29:12 +0200 (MEST)

On Thu, 29 Mar 2001, Steven Knight wrote:
>
> I have the signature configurability feature, based on the mailing-list
> exchange last month, working on my in-house copy.

Great news !

> While I'm working
> on test cases and cleaning up code prior to checkin, I could use some
> review of the documentation.
>

Describing how cons "thinks" when signatures are used for dependency
analysis seems to be hard (judging from past mails on this list, and
my own experience when I started to use cons, and trying to explain
it to coworkers of mine). It seems that every new user of cons has a
period confusion before understanding this.

Having the code and the description "in sync" will be really nice.

I found one paragraph in the draft strange:
>
>   Note that a file will be rebuilt whenever anything about a dependent
>   file changes. In particular, because Cons looks for exact timestamp
>   matches in the .consign file, *any* change to the modification time of a
>   dependency, forward or backwards in time, will force a rebuild of the
>   derived file.
>

Isn't this plain wrong, and should be removed  ?
Maybe a rest from early versions of cons when timestamps mattered ?


I also want to ask a question as a non-native speaker of English:

  I think I know what a "dependency" is:
  eg. an object file has it's source file as a "dependency"
  ( foo.o ----> foo.c )

  The draft documentation sometimes uses the word "depedent file".
  I get the impression that the "arrow" here points in the other
  direction (but not in the text I proposed to remove above).

  When I try to look these word up in a dictionary I can't see any
  indication that they point in different directions.
  This confuses me ...


>     Patterns will also match files across directories; the pattern
>     `foo/*.la' would match all (UNIX) library archives in any subdirectory
>     underneath the foo subdirectooy.
>

Should this be "foo/*.a" ???
Or what does ".la" mean ? Is it some Linux specific extension ???


>      $env = new cons(SIGNATURE => ['foo/*.o' => 'build',
>                                    '*.o' => 'consign content',
>                                    '*.a' => 'consign build',
>                                    '*' => 'content']);
>

I use cons on both Win32 and different UNIX-versions, and wonder how
one is supposed to write platform-independent Construct files.
(if one wants the same "signature policy" on all platforms)

(this question comes up every now and then; of course it is solvable
(this is Perl :-)), but the question is how easy ...)

Should I write like the following ?

    $env = new cons(SIGNATURE => ['foo/*.%SUFOBJ' => 'build',
                                  '*.%SUFOBJ' => 'consign content',
                                  '*.%SUFLIB' => 'consign build',
                                  '*' => 'content']);


/Johan Holmberg







reply via email to

[Prev in Thread] Current Thread [Next in Thread]