|
Boost-Build : |
From: David Abrahams (dave_at_[hidden])
Date: 2004-07-15 10:27:50
Vladimir Prus <ghost_at_[hidden]> writes:
> David Abrahams wrote:
>
>> I'm trying to suggest that projects should never have to declare
>> their own ids. That will make it much easier to write portable and
>> interoperable Jamfiles.
>
> Maybe I'm starting to get your idea, though I need to digest it
> more. I'm not yet sure why current Jamfiles are not portable or
> interoperable.
Suppose two projects choose the same project ID but need to be used
together by some other project?
Incidentally, I'd like a project to be able to declare a project ID
that has only local effect, so that, for example, subprojects of
boost can refer to other boost subprojects as boost/whatever.
>> > OTOH, in either case 'use-project' would need full id if you want to
>> > refer to specific project.
>> >
>> > use-project /boost/python : some-path
>>
>> Not if you had
>>
>> use-project /boost : some-path ;
>>
>> and in boost's Jamfile some mechanism like:
>>
>> locate-subprojects libs/\\1/build \\1 ;
>>
>> There are several advantages here:
>>
>> for one, there's no need to work around top-level project id
>> conflicts, because each project establishes its own notion of where
>> other top-level projects are.
>
> You mean, that project in 'some-path' does not declare project-id
Right.
> , or that /boost specified in 'use-project' overrides whatever was
> specified there?
That would be OK too. It begins to sound like "project IDs that have
only local effect" that I described above.
>> for another, much less maintenance when new projects are
>> added/renamed/etc.
>
> Yea, though with a mechanism to find all children project it's less
> important.
What I'm describing *is* a mechanism to find all the child projects.
It's just a quetion of whether they're loaded lazily or eagerly.
For another: no need to read/process Jamfiles of subprojects that
aren't going to be used. You'd be able to simply write
use-project /boost : some-path ;
and then use
boost/python//boostpython
in your non-boost Jamfile without causing all the other subprojects
of boost to be read in.
>
>> More later.
>
> Do I have to expect another email? ;-)
??
-- Dave Abrahams Boost Consulting http://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