summaryrefslogtreecommitdiffstats
path: root/Configurations
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2015-03-10 22:04:44 +0100
committerRichard Levitte <levitte@openssl.org>2015-03-16 22:16:30 +0100
commitb124552999b0b05cdccc891191b89bf562ba2b90 (patch)
tree8af5b1fdbbc0f1bd615a3574e5d609933d3bcbb8 /Configurations
parent70e4f10346da354915c343d37302eadaed40b1dd (diff)
Rethink templates.
Because base templates express inheritance of values, the attribute is renamed to 'inherit_from', and texts about this talk about 'inheritance(s)' rather than base templates. As they were previously implemented, base templates that were listed together would override one another, the first one acting as defaults for the next and so on. However, it was pointed out that a strength of inheritance would be to base configurations on several templates - for example one for CPU, one for operating system and one for compiler - and that requires a different way of combining those templates. With this change, inherited values from several inheritances are concatenated by default (keep on reading). Also, in-string templates with the double-curly syntax are removed, replaced with the possibility to have a configuration value be a coderef (i.e. a 'sub { /* your code goes here */ }') that gets the list of values from all inheritances as the list @_. The result of executing such a coderef on a list of values is assumed to become a string. ANY OTHER FORM OF VALUE WILL CURRENTLY BREAK. As a matter of fact, an attribute in the current config with no value is assumed to have this coderef as value: sub { join(' ', @_) } While we're at it, rename debug-[cl]flags to debug_[cl]flags and nodebug-[cl]flags to release_[cl]flags. Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'Configurations')
0 files changed, 0 insertions, 0 deletions