|
Boost-Build : |
From: David Abrahams (gclbb-jamboost_at_[hidden])
Date: 2003-06-18 15:09:20
Vladimir Prus <ghost_at_[hidden]> writes:
> Ali Azarbayejani wrote:
>> Vladimir Prus wrote:
>> > David Abrahams wrote:
>> >>>My reservation about MetaTarget is that I don't know how to call
>> >>>project-spec and file-spec if main-target-spec is renamed to MetaTarget.
>> >>
>> >>Project and File?
>> >
>> > But they all are derived from a common base. How would you call it?
>>
>> Keep in mind that Project and File ARE targets. Of course, Project
>> doesn't have to be either (as in the current implementation, i.e.
>> projects are not "actualized" into Jam targets).
>
> Hmm... my idea what that FileSpec is not a target. It keeps the name of source
> file, and just like MainTarget has 'generate' method --- which will create a
> file target from the file name, and return it --- regardless of property-set
> passed to 'generate'.
>
>> What we might really have here is
>>
>> Project (not a Target)
>> FileMetaTarget (cf. MainTarget) (not a Target)
>
> As I've said previously, the 'generate' method really makes sense for both
> project and main target, so we need a common base for that.
It doesn't neccessarily mean we need a common base. The structure of
projects and main targets/meta targets/target specs is fixed, and
unless they get used in a polymorphic context I don't see any reason
to have a common base. The language (like Python) doesn't require a
common base even then, but I would support it in that case for
documentation purposes.
>> o no "abstract-target" heirarchy
>
> Some form of it is still neded, as I've said above.
Not convinced yet.
>> o no "basic-target" for alternatives
>> o "project" and "project-target" a single class
>
> What's "project"? There's no such class for now. Or do you mean that
> function of current "project.jam" file should be handled by the
> project-target class?
>
>> o "virtual-target" = "Target"
>
> OK. Only that it will be spelled "target" in code ;-)
Hmm, maybe capitalizing classes would help readability, since the
"class" call comes afterwards :-S
-- Dave Abrahams Boost Consulting www.boost-consulting.com
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