From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-03-14 08:43:48
----- Original Message -----
From: "Thomas Witt" <witt_at_[hidden]>
> Attached is a new version of the template feature patch for
> (current cvs).
> This patch should enable full template functionality as mentioned in
> documentation. Please note that I did only perform basic testing. Bugs
> quite likely. I posted it now since I won't have time to work on it
> the next week. Unfortunately I will have to go skiing :-).
You poor man!
Here are the problems I noticed:
* You left ECHOs you were using for debugging in the code
* When a rule has an argument list, repeating "rule name ( args + :
arg )" in the comment is redundant
* The comments don't give enough info (e.g. "returns sources with path
added" - added how?)
* Code like the following probably ought to be done by iterating over a
list of target categories:
if $(gTARGET_TYPE_ID($(grist))) in $(STATIC_TYPES)
libs += $(dependency) ;
if $(gTARGET_TYPE_ID($(grist))) in $(SHARED_TYPES)
dlls += $(dependency) ;
if $(gTARGET_TYPE_ID($(grist))) in $(TEMPLATE_TYPES)
templates += $(dependency) ;
* Rule declare-local-target was already getting too long. Now it's
/really/ too long. Please refactor
* There's no 'e' in "paths".
Otherwise, this looks really great!
> I tried to reduce code duplication this time, though there are still
> issues. I suspect there might be a better solution for grist-templates
> add-path rules. Rene could you have a look into this ? I can't do
grist-templates looks like a cheap but effective hack. It probably does
too much work, though, and should be fixed up at some point.
> Regarding the name, you mentioned base and prototype.
> Rene your reason for using prototype instead of template were C++
> think with regard to language analogy prototype might be even more
> problematic. IIRC in C/C++ we have function prototypes and there is a
> prototype pattern as well. The purpose of both function prototype and
> function pattern is different from template-targets purpose. Basically
> prototypes are not extended.
> What I like about base is that template-targets behave like
> I do not like about base is that to me it is already to much
> regard to overloading only static can be worse :-).
It's not overloaded in Boost.Build, and certainly not in the context of
target specification. Anyway, one last try at changing the name:
> I propose we go with strict scoping for now and gather some
experience. We can
> always relax scoping if we feel its needed.
> As mentioned earlier I won't have e-mail access from sunday until
I'm going to be away from 3/16-3/23, but will be trying to stay
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk