Boost logo

Boost-Build :

From: Pedro Ferreira (pedro.ferreira_at_[hidden])
Date: 2005-03-09 05:34:14

Hi Volodya,

On 9 Mar 2005, at 09:54, Vladimir Prus wrote:

> (...)
>> It crashes on Darwin. I'll check this and try it on Windows as soon as
>> I can.
> Did you build with --debug? Without it, it crashes for Linux too, and
> I'm yet
> to investigate why.

Yup, I did. I'll have to spend some time digging it up, but not now...


>> Proposal:
>> - Extend the action registry to allow one to register rules and
>> actions
>> and to associate them with an id.
>> E.g.,
>> action.register ('gcc.compile.c++', compile_cpp_call_it_anything,
>> '"$(CONFIG_COMMAND)" $(LANG) -Wall ...')
>> Implement inheritance of rules and actions:
>> action.inherit_rules ('darwin', 'gcc')
>> And overriding:
>> # Override just the action but keep the rule
>> action.override ('darwin.compile.c++', None, ''$(CONFIG_COMMAND)
>> $(ST_OPTIONS) -L"$(LINKPATH)" ...')
> The above makes sense for me.


>> If this is ok, what about explicitly separate the toolset from the
>> rule?
>> action.register (toolset, rule_name, rule, action_text)
>> This would make it clear the meaning of the text up to the first dot.
>> The rule_name is still hierarchical (e.g. 'compile.c++' inherits all
>> flags from 'compile') but the toolsets are clearly separate.
> I don't think it will give us anything....
>> - Change back the generator constructor to receive an id and not the
>> rule itself. Then, when the rule needs to be called, ask it to the
>> action registry.
> ... especially as generators will still get action id, not
> (toolset,action)
> pair. And making generator take (toolset,action) pair does not give any
> obvious benefits.

Ok, I was just rambling. Anyway, I'm not very keen on making redesigns
at this stage.



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