Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-06-18 10:06:42

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.

> FileTarget <- Target
> AliasTarget <- Target

How does "AliasTarget" relate to the current "alias" rule? My understanding
that the "alias" rule should create an instance of MainTargetSpec which will
be generated as usual. I don't see the need for AliasTarget, as least for

> o no "abstract-target" heirarchy

Some form of it is still neded, as I've said above.

> 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 ;-)

> o build an explicit graph of Target rather than pass around lists of
> "virtual-target"

I'm not sure what you mean. Could you clarify?

- Volodya


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at