• R
    Rethink templates. · b1245529
    Richard Levitte 提交于
    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: NAndy Polyakov <appro@openssl.org>
    b1245529
Configure 75.5 KB