Boost logo

Boost-Build :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-01-29 09:56:22


----- Original Message -----
From: "Vladimir Prus" <ghost_at_[hidden]>
To: <jamboost_at_[hidden]>
Sent: Tuesday, January 29, 2002 9:27 AM
Subject: [jamboost] Interaction between project-root.jam files.

>
> Since the new build system will support building multiple projects
> simultaneously, there comes a question of interaction between them.
> For example, two different project-root.jam files can declare different
rules
> with the same name, to be used by Jamfiles in corresponding projects.

That part shouldn't be a problem. Each project-root.jam should be a module
(they can be distinguished with appropriate grist). Similarly, all Jamfiles
should be modules. If we want we can auto-import the rules from a project's
project-root.jam into all of its Jamfiles.

> What is
> even worse, they can call rules in some modules, for example to declare
new
> target types or generators or to configure something.

In general, toolset configuration (and the like) should happen in
user-config.jam or site-config.jam. As far as declaring new target types is
concerned, I think that should be rare. We can either ask users to qualify
their new target types with a project-id, or we can do it ourselves,
automatically.

> An ideal solution would
> be if all modules that can be configured from project-root.jam or Jamfiles
> separate information that came from different projects. Is it workable?

Probably, but I'm not sure we want to do that for every bit of configuration
info. For example, a list of what compiler versions exist and where they're
located doesn't seem like project-local data to me.

-Dave

 


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