|
Boost-Build : |
Subject: Re: [Boost-build] Issue in glob rule when invoked in <conditional>.
From: Jurko GospodnetiÄ (jurko.gospodnetic_at_[hidden])
Date: 2012-08-05 11:37:19
Hi.
>> We could actually clear the .current-project variable when loading is
>> done and have the project.current-project() rule error out if there is
>> no 'current project' context. This might also flush out some other
>> use-cases where we were depending on 'undefined behaviour'...
>>
>> If the user wants to 'glob' a folder at a later stage, he can always
>> use the built-in GLOB rule or any of its wrapper rules from the path
>> module.
>
> Ok, If no one has anything against this design, I'll code & commit
> it, including correcting the currently failing indirect_conditional.py
> test.
Done & committed in revision [79874].
http://svn.boost.org/trac/boost/changeset/79874
I have a tiny cleanup commit or two lined up regarding this but there
are a few things about the current project/module & project loading
organization that I still find a bit smelly:
1. Code loading configuration module projects seems to duplicate
some implementation details from the project.jam module.
2. Some rules in the project-rules module use the 'current project'
and some use the project mapped to their caller module and they seem to
do so inconsistently. In some cases these two are the same but in some
there is a difference.
3. Some modules are still loaded after the main Boost Build routine
resolves its command-line arguments, assuming all the project modules
have already been loaded. Those are the modules loaded by the
project.find() rule when dereferencing target ids containing absolute
project paths. I am not yet really sure about what consequences this
might have but I have a feeling some can be really freaky ones... :-)
If anyone is willing - please review & comment...
Best regards,
Jurko GospodnetiÄ
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