|
Boost-Build : |
Subject: [Boost-build] Free features from the command line causes significant increase buld time
From: áÌÅËÓÅÊ îÉËÉÔÉÎ (alleonik_at_[hidden])
Date: 2010-12-02 17:52:34
Hello!
Bear out comments of thread "bjam define=anything produces a core dump".
In file targets.jam in method "generate" of class basic-target writes next:
if ! $(self.generated.$(property-set))
{
# Apply free features from the command line. If user said
# define=FOO
# he most likely wants this define to be set for all compiles.
property-set = [ $(property-set).refine
[ build-system.command-line-free-features ] ] ;
local rproperties = [ targets.common-properties $(property-set)
$(self.requirements) ] ;
...
Here "If" always check property-set without free features from command
line. But below variable "self.generated.$(property-set)" set to new
property-set (with free fatures) and thus expression under "if" always
true. That causes exponential growth of building time and memory
usage.
I think the addition of free features should be done before "if !
$(self.generated.$(property-set))" and, in general, under this "if"
property-set cannot be change. I attached a patch with the proposed
changes.
I've never made a mistake?
Best regards,
Alexey.
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